Nervos CKB development update #17

TL;DR

  • New serialization #1249.
  • New transaction structure described in the post.

CKB Updates

The team has been busy preparing the next release v0.19.0. We have made quite a few changes since the last update.

#1249 : Apply new serialization to all crates ( @yangby-cryptape )

We have designed a new serialization format. This will be used in p2p messages, database storage and hash digest. After the change, it is possible to compute transaction hash and block hash in other programming languages. We’ll publish the serialization wire format specification soon.

#1307 : Difficulty adjustment RFC version ( @zhangsoledad )

Update the difficulty adjustment algorithm according to the consensus paper.

#1336 : Refactoring block body store ( @quake )

After benchmark, we discover that the CKB node fetches a single transaction from the database more frequently than getting all the transactions in a block. Originally the transactions in a block are stored together. This PR stores transaction in its own slot.

PR #1341

Implements the type ID checker in rust ( @xxuejie ).

PR #1387

Adds the feature dep group ( @TheWaWaR ).

PR #1356

Refactors the deps and splits it into cell_deps and header_deps .

This post describes what the transaction structure will look like in the new version. The second part is scheduled to introduce several extensions, such as code locating type script hash, type id, and dev group.

We also have a new contributor on board— @zjhmale, who has added #1385 and #1382. Welcome :tada:.

Changes in P2P

  • #177: Fixed listen error address mistake

Changes in CKB CLI

  • #48: Fixed jsonrpc-client thread leak

Changes in Toolchains

SDKs:

  • Released v0.18.0
  • Fixed NervosDao issues (Ruby)
  • Updated transaction structures per CKB changes

Neuron Wallet

  • Implemented Keystore import
  • Implemented sync with Indexer RPC module
  • Implemented tx cycles calculation
  • Added more e2e tests
  • Tweaked performance for Address and History lists

Explorer

  • Added occupied capacity calculation
  • Updated tx fee calculation to include support DAO reward
  • Adapted English localization
  • Fixed data sync issue
  • Updated chart to exclude dates for the first 5 epochs

Originally published on Medium