ipfs / notes

IPFS Collaborative Notebook for Research
MIT License
402 stars 31 forks source link

Merkle-btree #82

Open ianopolous opened 8 years ago

ianopolous commented 8 years ago

I've implemented a merkle b-tree It uses a generic "content addressed storage" interface, but it is meant for IPFS. It is hash agnostic (the storage provides the hash, same as in IPFS) and self cleaning - objects are deleted as soon as they are unreachable.

We are already using it in Peergos as a layer on top of IPFS/our DHT.

jbenet commented 8 years ago

great stuff! thanks for sharing @ianopolous -- may want to describe the object graph a bit more in the readme. also, once IPLD lands, it could get simplify some stuff, maybe

ianopolous commented 8 years ago

Yep, I plan to make IPLD the serialization format.

mmalmi commented 7 years ago

Thanks for your work @ianopolous! I built the javascript library https://github.com/mmalmi/merkle-btree based on it. Currently integrating it to https://identi.fi for decentralized indexing.

ianopolous commented 7 years ago

@mmalmi There is a more up to date version here: https://github.com/Peergos/Peergos/tree/master/src/peergos/shared/merklebtree

This version is also asynchronous and so maps trivially to JS promises (we compile ours to Javascript automatically).