Nervos CKB Development Update #20
Sep 16— Oct 8
by Ian Yang, Xuejie Xiao and Qian Linfeng
TL;DR
- CKB v0.22.0 has released. In this release, we made several changes to the header structure and consensus rules.
- CKB VM now has a standalone debugger.
Changes in CKB
We released v0.22.0 on Oct 5.
#1585: Include fractions in epoch number representations (@xxuejie)
We use a rational number format to represent epoch number.
The lower 54 bits of the epoch number field are split into 3
parts (listed in the order from higher bits to lower bits): 1. The highest 16 bits represent the epoch length; 2. The next 16 bits represent the current block index in the epoch; 3. The lowest 24 bits represent the current epoch number.
#1643: Compress header (@zhangsoledad)
We removed
uncles_count,
mergedtransactions_root
andwitnesses_root
, and replaceddifficulty
withcompact_target
.
#1632: Change script args and witness to single bytes (@quake)
We changed script args and witness from
Vec<Bytes>
toBytes
. Themain
method no longer receives
script args as argv. The new system callload_script
should be used to get the script args.
#1646: Use epoch as the basic maturity unit (@yangby-cryptape)
Cellbase outputs can be used after 4 epochs.
#1609: Use DAO type script hash in DAO transaction (@TheWaWaR)
DAO deposite must use type as the
hash_type
to reference the DAO system script.
#1617: Setup issuance schedule (@doitian)
Primary reward starts at 4.2B a year. Secondary reward is 1.344B a year.
#1666: Expand nonce to 128-bit (@zhangsoledad)
We expanded nonce to 128-bit and changed
pow_message
fromnonce || pow_hash
topow_hash || nonce
.
Changes in CKB VM
We split the script part in CKB into a separate project: https://github.com/nervosnetwork/ckb-standalone-debugger. This enables off-chain script debugging, what’s more, it’s now possible to compile the debugger into a proper WASM program. This enables the potential to build a Remix-style debugger for CKB.
Changes in P2P
- #187: Upgrade molecule version