This repository was archived by the owner on Aug 11, 2021. It is now read-only.
This repository was archived by the owner on Aug 11, 2021. It is now read-only.
IPLD Resolver patch
API #66
Open
Description
We've discussed a patch
API, but we haven't settled on how it gets implemented and/or if it gets implemented at this level of IPLD.
tl'dr the patch API would enable the set of values withing an IPLD path, bubbling up the changes and returning the new root CID, very much like object patch
API, but for any IPLD Format, which means that interface-ipld-format
would have to have a local scope patch function too, and that knows how to traverse objects.
Considerations:
- These can be very expensive operations, the longer the path the more nodes it touch (more network round trips, more disk accesses), we need to account, just like MFS, options for : flush/no flush
- It might be or not important to have at this level, an API to commit/revert (very much like what @wanderer built for Ethereum with https://github.com/ethereumjs/merkle-patricia-tree)
- Note that this API is inevitable to exist, it is just a question if we can make something that serves all the potential use cases, or if it gets built application by application (just like MFS has its own)