go-graphsync
go-graphsync copied to clipboard
Initial Implementation Of GraphSync Wire Protocol
# What As we look to the future, one very useful way to use Graphsync is to discover the CIDs that make up a response to a selector query, but...
# What Rather than use ipldutil.Traverser, refactor go-ipld-primes selector traversal code so you can directly interact at the block level. # Why was it this way Go-ipld-prime's selector traversal returns...
# Goals If we are successful in building out the graphsync metadata requests, in order to ship it, we need to make it backward compatbile. # Suggested Implementation I am...
Once we build Graphsync metadata only requests, the next step is to build a way to cache them. Rather than try to build this in go-graphsync, I'd like for it...
# What The reconciled loader is useful to anyone who wants to verify a stream of responses against a selector traversal. It should probably live on its own though. Design...
# What To support metadata only requests, we implement a new method on the graphsync TLI: ```golang // GraphExchange is a protocol that can exchange IPLD graphs based on a...
# What We introduce a new RequestType - Metadata - as follows: ```ipldsch type GraphSyncRequestType enum { # New means a new request | New ("n") # Cancel means cancel...
For example, in the code below, we use go-merkledag and go-ipld-format to create a UnixFS file for a benchmark: https://github.com/ipfs/go-graphsync/blob/a8d880238c2679e6191d67d26dd859896c32237f/benchmarks/benchmark_test.go#L273-L276 @willscott says we can use data/builder.BuildUnixFSFile for this purpose: https://github.com/ipfs/go-unixfsnode/blob/b9b6e9dc571e3fd0a3e4ee53987f07e0ff8008da/data/builder/file.go#L30...
We have 2 rounds of "how do I pick my requests after I left off?" extensions: *DoNotSendCIDs* - by provide a list of CIDs not to send, I can specify...
Currently, we have an implementation of requestor pausing that works as follows: - Requestor can be paused in a block hook or a imperatively (calling PauseRequest on graphsync with a...