Skip to content

ckb 0.14.0 (rylai-v3 v0.14.0 2019-06-15)

Compare
Choose a tag to compare
@doitian doitian released this 15 Jun 04:32
v0.14.0
03f2534
  • Code Name: rylai-v3
  • Genesis Hash: 0xc3b42742ea8658c93de23f16a10c43212bd8b24a6bde5a93b8446dba3fb2a728
  • Secp256k1 Code Hash: 0xf1951123466e4479842387a66fabfd6b65fc87fd84ae8e6cd3053edb27fff2fd
  • Launch Time: 2019-06-15 UTC 6:00 AM
  • End Time: 2019-06-29 UTC 6:00 AM

Attention: The default secp256k1 code hash has changed, remember to check the block assembler config.

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

Downloads

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.13.0

Features

  • #913: New verification model (@xxuejie)

    This is a breaking change: b:consensus, b:database, b:p2p, b:rpc

    Based on feedbacks gathered earlier, we are revising our verification
    model with the following changes:

    • When validating a transaction, CKB will grab all lock scripts from
      all inputs, and group them based on lock script hash. The script in
      each group will only be run once. The lock script itself will have
      to do the validation task for all inputs in the same group
    • CKB will also grab all type scripts from inputs and outputs(notice
      different from previous version, the type scripts in inputs are
      included here as well), and group them based on type script hash as
      well. Each type script in each group will also be run once. The type
      script itself needs to handle the validation task within the group
    • Syscalls are also revised to allow fetching all the
      inputs/outputs/witnesses within a single group.
    • Input args is removed since the functionality can be replicated elsewhere
  • #908: Peers handle disconnect (@keroro520)

  • #891: Secp256k1 multisig (@jjyr)

  • #845: Limit TXO set memory usage (@yangby-cryptape)

    This is a breaking change: b:database

  • #874: Revise uncle rule (@zhangsoledad)

    This is a breaking change: b:consensus, b:database

    1. get rid uncle age limit
    2. try include disconnected block as uncle
  • #920: Tweak consensus params (@zhangsoledad)

    This is a breaking change: b:consensus

    tweak block_cycles_limit and min_block_interval

  • #897: Wrap the log macros to fix ill formed macros (@yangby-cryptape)

    And, we have to update the log filters, add prefix ckb- for all our crates.

  • #919: Synchronizer and relayer share BlocksInflight (@keroro520)

  • #924: Add a transaction error InsufficientCellCapacity (@yangby-cryptape)

  • #926: Make a better error message for miner when method not found (@yangby-cryptape)

  • #961: Display miner worker status (@quake)

    BREAKCHANGE: config file ckb-miner.toml changed

  • #1001: ckb init supports setting block assembler (@doitian)

    • ckb init accepts options --ba-code-hash and --ba-arg (which can
      repeat multiple times) to set block assembler.
    • ckb cli secp256k1-lock adds an output format cmd to prints the
      command line options for ckb init to set block assembler.

    The two commands can combine into one to init the directory with a secp256k1 compressed pub key:

      ckb init $(ckb cli secp256k1-lock <pubkey> --format cmd)
    
  • #996: Tweak consensus parameters (@doitian)

    • Change target epoch duration to 4 hours
    • Reduce epoch reward to 1/4
    • Increase secondary epoch reward to 600,000 bytes

Bug Fixes

  • #878: Calculate the current median time from tip (@keroro520)

    This is a breaking change: b:consensus

    Original implementation use [Tip-BlockMedianCount .. Tip-1] to calculate the current block median time. According to the notion of BlockMedianTime in bip-0113 , here change to use [Tip-BlockMedianCount+1 .. Tip] instead.

  • #915: Sync blocked by protected peer (@TheWaWaR)

  • #906: Proposal table reload (@zhangsoledad)

  • #983: Uncle number should smaller than block (@zhangsoledad)

    This is a breaking change: b:consensus

Improvements

  • #981 sync: Fix get ancestor performance issue (@TheWaWaR)

    It's a backport of PR #970

Misc

  • #966: Backport windows support and sentry cleanup to v0.14.0 (@doitian)