specs icon indicating copy to clipboard operation
specs copied to clipboard

bitcoin: add bitcoin docs (WIP)

Open rvagg opened this issue 4 years ago • 5 comments

Not complete, but it's big enough and very tedious, that I just want to push something. If anyone feels like reviewing as a WIP feedback would be appreciated but I've got a lot more to do to connect the pieces to IPLD. Will call for reviews when I think it's ~finished.

rvagg avatar Jun 12 '20 08:06 rvagg

Notes to self arising from discussion so far, for when I do revisions:

  • Probably remove the "uint256" concept, it's a confusing mess. In practice it's just a byte array that is presented to users as a byte-reversed hex string by convention
  • Notes about the various levels on the gradient of what it means to "decode" a bitcoin block and what you present at the data model - from strictly the elements you pull out of the binary format up to decoding all of the things including turning linkable things into CIDs and even decoding the script into its string format (or perhaps something more advanced?).
  • Work on something to clarify how ipldsch is being used—this applies broadly to our docs too, need better language to say "this defines a structure that could be conceived of as a data model thing, but we need more details as an adjunct to talk about specifics of binary representations", which gets tricky still because in these docs I'm even presenting different forms of data model things (see previous point)—the raw decoded pieces vs the more advanced version that can be presented to match the Bitcoin Core RPC (i.e. convention).

rvagg avatar Jun 15 '20 04:06 rvagg

what’s the status here?

i’d like to get something up on the specs website that i can link to

mikeal avatar Sep 17 '20 20:09 mikeal

status is that each time I sit down to attack this I'm overwhelmed by the size of the task to pull it together into a coherent form that covers everything that it needs to; but it does weigh on me that it's outstanding and I need to get it closed out along with js-multiformats reworks of the codec(s).

It's not in a worthy state to even merge as a draft tbh, so you're out of luck for now but I'll try and get to it asap.

rvagg avatar Sep 18 '20 02:09 rvagg

It would be really cool to merge this, even if we want to put some disclaimer texts in somewhere. This is way more and better information than we have on this topic anywhere else, as far as I know.

warpfork avatar Apr 11 '21 12:04 warpfork

Not merge-worthy IMO, it's so far from what it should have been. I think a better approach might be to start from the reverse end, like the Filecoin, and now Ethereum data specs, and work backward. It turned out to be really hard to work forward like I was doing it here. tbh I'm not sure what to do with this, I don't see any time on the horizon for me to finish this out but it's one of those things that linger in the back of my head, along with the code that backs this work which is also out of date now with the ecosystem it sits within.

rvagg avatar Apr 21 '21 07:04 rvagg