specs
specs copied to clipboard
RFC: Should Graphsync be a CBOR based protocol?
Currently, Graphsync is specified as a Protobuf based protocol. This was done to fit the spec at the time it was written and because IPLD CBOR tooling was still incomplete. Now those, we've made a lot of progress with go-ipld-prime
AND we're actually using IPLD CBOR for extensions. CBOR is already in use for network protocols in Filecoin and IPFS at this point is the hold out.
We have a bit of a window still to change Graphsync to CBOR before it goes into heavy production. While Graphsync is in use in Filecoin, the network will be restarted in its entierety multiple times before mainnet, which gives several opportunities to switch over. And IPFS doesn't yet use Graphsync.
It seems to me this is worth making a decision on before Filecoin Mainnet launches (Q1 next year, which means if we're doing this we should switch over by end of 2019)-- ideally before Testnet as well. (12/11/2019)
cc: @Stebalien @warpfork @vmx
cc: @anorth
This sounds like a (super, super) good idea to me.
If we're going to anticipate more implementations of graphsync in more languages soon, there's a huge benefit to getting it all attainable in CBOR and not requiring other additional toolchains.
Yes