State of Development: Week of August 20th, 2018

Currently, we are very busy preparing our mainnet launch and working hard to finalize Bitcoin-NG, State Channels and Sophia, our specialized language for smart contracts.

The most prominent features, which were completed last week are:

Inclusion of a signature in the header of a micro block, to remain consistent with other data structures (e.g. transactions are hashed with a signature in the transactions tree in the block header) as well as with the original Bitcoin-NG paper that refers to the microblock header as containing the signature. As a result, blocks with different signatures will now get different hashes, which is good for consistency.

Optimization of storage of records for key and micro blocks. Until now we were using a header file blocks.hrl that included block and header records. Those records had duplicate fields and, since they were in the hrl file, the modules including the hrl file were tightly coupled. We have moved key block and micro block records into separate modules (and also removed them from the hrl file). The records are now isolated and don’t expose the internal structure.

Implementation of market pricing for oracle transactions, which until now had a (tiny) fixed fee used as a stub.

Introduction of properly typed contract calls instead of previously used raw_call primitives.

Implementation of definitions of new types that can be introduced with the type keyword and can be parameterized.

Our aim for the release coming out this week is to finalize forcing progress on-chain for state channels and prepare Proof of Fraud of Bitcoin-NG for merger with the master, plus a number of smaller, but no less important tasks that you can see in the Pivotal Tracker above 0.21.0 release marker.