Over the next two weeks, I'd like to work on documenting the blockchain format. In particular, going from a block as a sequence of bytes; to fields with particular data types (uint32, hash); to semantic information about entities like accounts, balances, delegates, orders, and votes. To keep the scope manageable, I'd like to limit my contribution to focusing on parsing the serialized blockchain.
I'll include information on the following:
- Byte-by-byte documentation of the serialized block format
- Constraints between various fields (e.g. the value in each block's parent block hash field must be equal to the value obtained by computing the hash of the serialization of the parent block).
- Reasons for design decisions
- Genesis-block parameters that can easily be tweaked
- Highlight major BitShares Toolkit features that either mimic features of other cryptocoins, or are different from other cryptocoins
- Describe in detail the implementation of high-level semantic nouns and verbs (e.g.: What is a short position and how do you cover it? How do we make TITAN transactions invisible?)
I'll post here with the Github URL when I start.
Also, since the bounty was posted before snapshot was taken, I'd like to ask if the bounty will include the BTSX spawned by the 500 PTS?
Hopefully this post satisfies the "scope and requirements" laid out in the opening post, and we can change from pending to active.