Skip to content

ckb 0.22.0 (rylai-v11 dc9decea 2019-10-05)

Compare
Choose a tag to compare
@doitian doitian released this 05 Oct 06:02
v0.22.0
dc9dece
  • Code Name: rylai-v11
  • Genesis Hash: 0x8c6000088bb9540b111f1f777f1313b4ef4c3cd6c8b91a2f942db55e1e17e67d
  • Secp256k1
    • hash_type: type
    • code_hash: 0x9bd7e06f3ecf4be0f2fcd2188b23f1b9fcc88e5d4b65a8637b17723bbda3cce8
  • Launch Time: 2019-10-05 UTC 6:00 AM
  • End Time: 2019-10-19 UTC 6:00 AM

Ensure you are running the correct node by checking the genesis hash in the log output.

Downloads

Binaries are available at about 7:00 AM. Please use v0.22.0-rc3 binaries before that.

OS Arch Runtime Dependencies Package Sign
macOS x64 zip PGP
Linux x64 glibc, libstdc++ tarball PGP
CentOS x64 glibc, libstdc++, openssl tarball PGP
Windows* x64 VC++ Redistributable zip PGP
Docker dockerhub

* Windows support is experimental.

Changes since v0.21.2

Breaking Changes

  • #1585: Include fractions in epoch number representations (@xxuejie)

    This change introduce fractions in 2 places where epoch numbers might
    be used:

    • The epoch field in the header
    • Cell input's since part when using epoch values

    Here 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):

    • The highest 16 bits represent the epoch length
    • The next 16 bits represent the current block index in the epoch
    • The lowest 24 bits represent the current epoch number

    Assuming we are at block number 11555, epoch 50, and epoch 50 starts
    from block 11000, has a length of 1000. The epoch number for this
    particular block will then be 9326559282, which is calculated
    in the following way:

    50 | ((11555 - 11000) << 24) | (1000 << 16)
    
  • #1643: Compress header (@zhangsoledad)

    • remove uncles_count
    • merge transactions_root and witnesses_root, where new transactions_root = blake256(old transactions_root || old witnesses_root)
    • replace difficulty with compact_target
  • #1632: Change script args and witness to single bytes (@quake)

    1. Change args and witness from Vec<Bytes> to Bytes.
    2. Add load_script system call. The main method no longer receives
      script args as argv.
  • #1599: Adjust NervosDAO stats calculation logic (@xxuejie)

    The rules to generate dao field in block header has changed.

  • #1618: Change return type of RPC submit block (@keroro520)

    Change return type of RPC submit_block from Result<Option<H256>> to Result<H256>

  • #1641: Script cycle adjustments (@xxuejie)

  • #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)

    BREAKING CHANGE: primary/secondary epoch reward has changed

  • #1666: Expand nonce to 128-bit (@zhangsoledad)

    • Expand nonce to 128-bit
    • Change pow_message from [nonce + pow_hash] to [pow_hash + nonce]

Features

Bug Fixes