ckb

The Nervos CKB is a public permissionless blockchain, and the layer 1 of Nervos network.

MIT License

Downloads
8.2M
Stars
1.1K
Committers
49

Bot releases are visible (Hide)

ckb - ckb 0.106.0-rc2 (1674642 2022-11-22)

Published by github-actions[bot] almost 2 years ago

Compatability Table

Network Consensus Version Minimal CKB Version
dev ckb2021 since epoch 0
testnet ckb2021 since epoch 3113 v0.101.0
mainnet ckb2021 since epoch 5414 v0.103.0

This is an RC version to preview the changes in the next release.

OS Arch Runtime Dependencies Package Sign
macOS x64 macOS 10.15 or above zip PGP
macOS (Portable) x64 macOS 10.15 or above zip PGP
Linux x64 glibc, libstdc++ tarball PGP
Linux (Portable) x64 glibc, libstdc++ tarball PGP
CentOS x64 glibc, libstdc++ tarball PGP
CentOS (Portable) x64 glibc, libstdc++ tarball PGP
Windows x64 VC++ Redistributable zip PGP
Linux ARM64 glibc, libstdc++ tarball PGP
Docker [dockerhub][]

The .asc files are signatures. It is wise and more secure to check out for the files integrity.

Try the portable variants if the binaries complains about illegal instructions.

Bug Fixes

ckb - ckb 0.106.0-rc1 (54017a2 2022-11-18)

Published by github-actions[bot] almost 2 years ago

Highlights

  • Add RPC methods for fee estimation.
  • Fixed CPU usage issue caused by indexer.
  • Fixed issues found in tx pool.

Compatability Table

Network Consensus Version Minimal CKB Version
dev ckb2021 since epoch 0
testnet ckb2021 since epoch 3113 v0.101.0
mainnet ckb2021 since epoch 5414 v0.103.0

This is an RC version to preview the changes in the next release.

OS Arch Runtime Dependencies Package Sign
macOS x64 macOS 10.15 or above zip PGP
macOS (Portable) x64 macOS 10.15 or above zip PGP
Linux x64 glibc, libstdc++ tarball PGP
Linux (Portable) x64 glibc, libstdc++ tarball PGP
CentOS x64 glibc, libstdc++ tarball PGP
CentOS (Portable) x64 glibc, libstdc++ tarball PGP
Windows x64 VC++ Redistributable zip PGP
Linux ARM64 glibc, libstdc++ tarball PGP
Docker [dockerhub][]

The .asc files are signatures. It is wise and more secure to check out for the files integrity.

Try the portable variants if the binaries complains about illegal instructions.

Features

  • #3669: Add RPC estimate_cycles (@zhangsoledad)
  • #3703: Tuning the locator algorithm (@driftluo)

Bug Fixes

  • #3675 light-client: Subtract overflow when try to get chain root for genesis block (@yangby-cryptape)
  • #3697 light-client: Do not skip the genesis block for last state proofs (@yangby-cryptape)
  • #3698 tx-pool: Potential leaks when MaximumAncestors occurs (@zhangsoledad)
  • #3706 tx-pool: Fix tx-pool potential inconsistent after reorg occurs (@zhangsoledad)
  • #3705 indexer: Indexer CPU usage (@zhangsoledad)
  • #3674: Fix logging feature break (@driftluo)
  • #3681: Set recent reject db log file limit to 10 (@driftluo)
  • #3699: Resolve a long reorg error (@quake)
  • #3702: Unknown list should get header from headermap and db (@driftluo)
ckb - YANKED ckb 0.105.1 (e0dd357 2022-10-31)

Published by github-actions[bot] almost 2 years ago

This version fixed the conflicting options for light client (#3665).

It also decreased the memory requirement to run the database migration (#3664).

Attention: Yanked, see #3780

Compatability Table

Network Consensus Version Minimal CKB Version
dev ckb2021 since epoch 0
testnet ckb2021 since epoch 3113 v0.101.0
mainnet ckb2021 since epoch 5414 v0.103.0

See how to connect to various chains in Wiki.

Features

  • #3672: Add rpc estimate_cycles (@zhangsoledad)

  • #3650: Bump ckb-vm to v0.22.0 (@mohanson)

  • #3664: Decrease max memory and increase speed, during chain root mmr migration (@yangby-cryptape)

  • #3665: Remove block_filter_enable option (@quake)

    Two configuration options (block_filter_enable and support_protocols) are conflicting.

ckb - YANKED ckb 0.105.1-rc2 (d3f370a 2022-10-31)

Published by github-actions[bot] almost 2 years ago

Attention: Yanked, see #3780

Compatability Table

Network Consensus Version Minimal CKB Version
dev ckb2021 since epoch 0
testnet ckb2021 since epoch 3113 v0.101.0
mainnet ckb2021 since epoch 5414 v0.103.0

Features

  • #3672: Add rpc estimate_cycles (@zhangsoledad)

  • #3650: Bump ckb-vm to v0.22.0 (@mohanson)

  • #3664: Decrease max memory and increase speed, during chain root mmr migration (@yangby-cryptape)

  • #3665: Remove block_filter_enable option (@quake)

    Two configuration options (block_filter_enable and support_protocols) are conflicting.

ckb - YANKED ckb 0.105.0 (1d3af67 2022-10-25)

Published by github-actions[bot] almost 2 years ago

Highlights

Attention: Yanked, see #3780

This version will activate CKB Light Client support in testnet via soft fork. See more details in #3652 and the following RFCs:

  • nervosnetwork/rfcs#349
  • nervosnetwork/rfcs#370
  • nervosnetwork/rfcs#375

Compatability Table

Network Consensus Version Minimal CKB Version
dev ckb2021 since epoch 0
testnet ckb2021 since epoch 3113 v0.101.0
mainnet ckb2021 since epoch 5414 v0.103.0

See how to connect to various chains in Wiki.

Features

  • #3595: P2P Flags features (@driftluo)
  • #3565: ChainRpcImpl: support return raw molecule hex bytes for get_transaction rpc method (@eval-exec)
  • #3564: Adding JSON output support for ckb list-hashes (@code-monad)
  • #3609: Merge indexer (@zhangsoledad)
  • #3627: Bump ckb-vm to v0.21.7 (@mohanson)
  • #3631 light-client: Add light client support to ckb full node (@quake @yangby-cryptape @TheWaWaR)
  • #3515 light-client: Light client softfork (@zhangsoledad)
  • #3643 light-client: Activation parameters for testnet lightclient (@zhangsoledad)

Bug Fixes

  • #3516: Fix atomic fetch update ordering (@driftluo)
  • #3566: Fix tcp reuse bind (@driftluo)
  • #3642: Network flags should be configured accordingly (@quake)
ckb - YANKED ckb 0.105.0-rc1 (4ccaa94 2022-10-25)

Published by github-actions[bot] almost 2 years ago

Attention: Yanked, see #3780

Compatability Table

Network Consensus Version Minimal CKB Version
dev ckb2021 since epoch 0
testnet ckb2021 since epoch 3113 v0.101.0
mainnet ckb2021 since epoch 5414 v0.103.0

Features

  • #3544: Add GetTransactions message to light client protocol (@quake)
  • #3595: P2P Flags features (@driftluo)
  • #3565: ChainRpcImpl: support return raw molecule hex bytes for get_transaction rpc method (@eval-exec)
  • #3564: Adding JSON output support for ckb list-hashes (@code-monad)
  • #3609: Merge indexer (@zhangsoledad)
  • #3627: Bump ckb-vm to v0.21.7 (@mohanson)
  • #3631 light-client: Add light client support to ckb full node (@quake)
  • #3515 light-client: Light client softfork (@zhangsoledad)
  • #3643 light-client: Activation parameters for testnet lightclient (@zhangsoledad)

Bug Fixes

  • #3516: Fix atomic fetch update ordering (@driftluo)
  • #3566: Fix tcp reuse bind (@driftluo)
  • #3642: Network flags should be configured accordingly (@quake)
ckb - ckb 0.104.1 (f93b498 2022-09-07)

Published by github-actions[bot] about 2 years ago

Compatability Table

Network Consensus Version Minimal CKB Version
dev ckb2021 since epoch 0
testnet ckb2021 since epoch 3113 v0.101.0
mainnet ckb2021 since epoch 5414 v0.103.0

See how to connect to various chains in Wiki.

Downloads

OS Arch Runtime Dependencies Package Sign
macOS x64 macOS 10.15 or above zip PGP
macOS (Portable) x64 macOS 10.15 or above zip PGP
Linux x64 glibc, libstdc++ tarball PGP
Linux (Portable) x64 glibc, libstdc++ tarball PGP
CentOS x64 glibc, libstdc++ tarball PGP
CentOS (Portable) x64 glibc, libstdc++ tarball PGP
Windows x64 VC++ Redistributable zip PGP
Linux ARM64 glibc, libstdc++ tarball PGP
Docker dockerhub

The .asc files are signatures. It is wise and more secure to check out for the files integrity.

Try the portable variants if the binaries complains about illegal instructions.

Bug Fixes

  • #3516: Fix atomic fetch update ordering (@driftluo)
ckb - ckb 0.104.0 (4dd90d4 2022-07-19)

Published by github-actions[bot] about 2 years ago

Compatability Table

Network Consensus Version Minimal CKB Version
dev ckb2021 since epoch 0
testnet ckb2021 since epoch 3113 v0.101.0
mainnet ckb2021 since epoch 5414 v0.103.0

See how to connect to various chains in Wiki.

Downloads

OS Arch Runtime Dependencies Package Sign
macOS x64 macOS 10.15 or above zip PGP
Linux x64 glibc, libstdc++ tarball PGP
CentOS x64 glibc, libstdc++ tarball PGP
Windows x64 VC++ Redistributable zip PGP
Linux ARM64 glibc, libstdc++ tarball PGP
Docker dockerhub

The binaries require following CPU instructions: call (MODE64), cmovbe (CMOV), xorps (SSE1), movq (SSE2)

The .asc files are signatures. It is wise and more secure to check out for the files integrity.

v0.104.0 (2022-07-19)

Features

  • #3329: Background update block_template (@zhangsoledad)
  • #3427: Remove compatibility codes from the network (@driftluo)
  • #3438: Remove snapshot compatible code (@driftluo)
  • #3479: Log in utc time (@zhangsoledad)

Bug Fixes

  • #3387 rpc: Disconnect session of peers when invoke rpc set_ban (@chanhsu001)
  • #3417: Fix typo for hash_type note (@DGideas)
  • #3426: Runtime shutdown (@zhangsoledad)
  • #3445: Ambiguous dao error messages (@zhangsoledad)

Improvements

  • #3391: Improve sync header map (@zhangsoledad)
  • #3478: Perf sync (@driftluo)
ckb - ckb 0.103.0 (e77138e 2022-04-11)

Published by github-actions[bot] over 2 years ago

Attention that v0.103.0 will activate ckb2021 in mainnet since epoch 5414, at about 2022/05/10 1:00 UTC. See RFC37 and the migration guide for details.

Compatability Table

Network Consensus Version Minimal CKB Version
dev ckb2021 since epoch 0
testnet ckb2021 since epoch 3113 v0.101.0
mainnet ckb2019 until epoch 5414 v0.25.0
mainnet ckb2021 since epoch 5414 v0.103.0

See how to connect to various chains in Wiki.

Downloads

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

The binaries require following CPU instructions: call (MODE64), cmovbe (CMOV), xorps (SSE1), movq (SSE2)

The .asc files are signatures. It is wise and more secure to check out for the files integrity.

Features

  • #3371: Activate ckb2021 in mainnet since epoch 5414 (@doitian)
    At about 2022/05/10 1:00 UTC.

Bug Fixes

  • #3343: Genesis dep groups should supports relative file path (@quake)
  • #3345: Fix(cli) add h256 validator for --assume-valid-target and --ba-code-hash (@chanhsu001)
ckb - [YANKED] ckb 0.102.0

Published by github-actions[bot] over 2 years ago

Please use v0.103.0 instead.

ckb - ckb 0.101.8 (905c453 2022-04-06)

Published by github-actions[bot] over 2 years ago

This version fixes a trivial bug in tx verification result logs.

Compatability Table

Network Consensus Version Minimal CKB Version
dev ckb2021 since epoch 0
testnet ckb2021 since epoch 3113 v0.101.0
mainnet ckb2019 v0.25.0

See how to connect to various chains in Wiki.

Downloads

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

The binaries require following CPU instructions: call (MODE64), cmovbe (CMOV), xorps (SSE1), movq (SSE2)

The .asc files are signatures. It is wise and more secure to check out for the files integrity.

Bug Fixes

  • #3365: fix #3309, mismatch resolved_tx and completed_tx (@chanhsu001)
ckb - ckb 0.101.7 (93ad7d0 2022-03-21)

Published by github-actions[bot] over 2 years ago

Compatability Table

Network Consensus Version Minimal CKB Version
dev ckb2021 since epoch 0
testnet ckb2021 since epoch 3113 v0.101.0
mainnet ckb2019 v0.25.0

See how to connect to various chains in Wiki.

Downloads

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

The binaries require following CPU instructions: call (MODE64), cmovbe (CMOV), xorps (SSE1), movq (SSE2)

The .asc files are signatures. It is wise and more secure to check out for the files integrity.

Features

  • #3309: Log tx verification result for monitor (@chanhsu001)
ckb - ckb 0.101.6 (b698750 2022-03-02)

Published by github-actions[bot] over 2 years ago

This version includes a new list of mainnet bootnodes in the generated config file. It's recommended to update the config options of the existing nodes manually. See #3303 for details.

Compatability Table

Network Consensus Version Minimal CKB Version
dev ckb2021 since epoch 0
testnet ckb2021 since epoch 3113 v0.101.0
mainnet ckb2019 v0.25.0

See how to connect to various chains in Wiki.

Downloads

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

The binaries require following CPU instructions: call (MODE64), cmovbe (CMOV), xorps (SSE1), movq (SSE2)

The .asc files are signatures. It is wise and more secure to check out for the files integrity.

Features

  • #3281: Case-insensitive hex (@zhangsoledad)

    Previously, uppercase hex format have been unintentionally forbiden.

  • #3303: Update default mainnet bootnodes (@doitian)

    Add bootnodes from different areas and different cloud providers to make the list more diverse.

ckb - ckb 0.101.4 (7d03c55 2022-01-18)

Published by github-actions[bot] over 2 years ago

Compatability Table

Network Consensus Version Minimal CKB Version
dev ckb2021 since epoch 0
testnet ckb2021 since epoch 3113 v0.101.0
mainnet ckb2019 v0.25.0

See how to connect to various chains in Wiki.

Downloads

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

The binaries require following CPU instructions: call (MODE64), cmovbe (CMOV), xorps (SSE1), movq (SSE2)

The .asc files are signatures. It is wise and more secure to check out for the files integrity.

Features

  • #3231: Check listen port occupancy (@driftluo)
  • #3261: Tuning the locator algorithm (@driftluo)
  • #3254: Port to aarch64, and provide official binary when release (@yangby-cryptape)
  • #3134: Ckb2021 on rust2021 (@zhangsoledad)

Bug Fixes

  • #3228: Fix block transaction process dead loop (@driftluo)
  • #3251: Session close also should remove feeler dialing flag (@driftluo)
  • #3242: Verification cache reset during hardfork (@zhangsoledad)
  • #3264: Resolve conflict descendants (@zhangsoledad)
  • #3270: Fix pending leak (@zhangsoledad)
  • #3269: Proposed pool remove committed (@zhangsoledad)

Improvements

  • #3244 relay: Split compact block execute code, more readable (@chanhsu001)
  • #3263 relay: Remove obsolete min_fee_rate, max_tx_verify_cycles from relayer (@chanhsu001)
ckb - ckb 0.101.3 (b07ec54 2021-12-13)

Published by github-actions[bot] almost 3 years ago

Compatability Table

Network Consensus Version Minimal CKB Version
dev ckb2021 since epoch 0
testnet ckb2021 since epoch 3113 v0.101.0
mainnet ckb2019 v0.25.0

See how to connect to various chains in Wiki.

Downloads

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

The binaries require following CPU instructions: call (MODE64), cmovbe (CMOV), xorps (SSE1), movq (SSE2)

The .asc files are signatures. It is wise and more secure to check out for the files integrity.

Features

  • #3229: Script group consistent execution order (@zhangsoledad)
  • #3170 rpc: Add a method to remove a transaction from tx-pool (@yangby-cryptape)
ckb - ckb 0.101.2 (0ac021c 2021-12-02)

Published by github-actions[bot] almost 3 years ago

Compatability Table

Network Consensus Version Minimal CKB Version
dev ckb2021 since epoch 0
testnet ckb2021 since epoch 3113 v0.101.2
mainnet ckb2019 v0.25.0

See how to connect to various chains in Wiki.

Downloads

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

The binaries require following CPU instructions: call (MODE64), cmovbe (CMOV), xorps (SSE1), movq (SSE2)

The .asc files are signatures. It is wise and more secure to check out for the files integrity.

Features

  • #3185: Add a syscall to pause the script execution (only enabled in tests) (@yangby-cryptape)
  • #3174: Delay txs during hardfork (@zhangsoledad)
  • #3175: Retain candidate uncle until next epoch (@zhangsoledad)
  • #3194: Resumable rpc tx submit (@zhangsoledad)

Bug Fixes

  • #3149: Return None when get git commit info failed (@TheWaWaR)

  • #3177: Upgrade ckb-vm to fix snapshot behavior (@driftluo)

  • #3188: Fix current cycles syscall on chunk run with snapshot (@driftluo)

  • #3176: Add dirty flag when load cell data as code (@mohanson)

    Solve the problem that 'load_data_cell_as_code' cannot work with 'ckb-vm chunk run'

    ref: https://github.com/nervosnetwork/ckb-vm/pull/218

ckb - ckb 0.101.2-testnet1 (052ea67 2021-11-17)

Published by github-actions[bot] almost 3 years ago

Compatability Table

Network Consensus Version Minimal CKB Version
dev ckb2021 since epoch 0
testnet ckb2021 since epoch 3113 v0.101.0
mainnet ckb2019 v0.25.0

This is a beta version only for testnet, which has fixed a bug that a node is banned after sending transaction with very large cycle consumption.

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

The binaries require following CPU instructions: call (MODE64), cmovbe (CMOV), xorps (SSE1), movq (SSE2)

Bug Fixes

  • #3149: Return None when get git commit info failed (@TheWaWaR)
  • #3177: Upgrade ckb-vm to fix snapshot behavior (@driftluo)

Fix

ckb - ckb 0.101.1 (fb1e5dd 2021-10-27)

Published by github-actions[bot] almost 3 years ago

Compatability Table

Network Consensus Version Minimal CKB Version
dev ckb2021 since epoch 0
testnet ckb2021 since epoch 3113 v0.101.0
mainnet ckb2019 v0.25.0

See how to connect to various chains in Wiki.

Downloads

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

The binaries require following CPU instructions: call (MODE64), cmovbe (CMOV), xorps (SSE1), movq (SSE2)

The .asc files are signatures. It is wise and more secure to check out for the files integrity.

Bug Fixes

  • #3129 hardfork: Tx-pool clear statistical data before re-run all transactions (@yangby-cryptape)
  • #3115: Remove tx hash from Relayer#tx_filter when it was rejected (@quake)
  • #3143: Limit proposal respond size (@driftluo)

Improvements

  • #3139: Remove needless collect (@zhangsoledad)
ckb - ckb 0.101.0 (9b81a72 2021-10-20)

Published by github-actions[bot] almost 3 years ago

This release activates ckb2021 since epoch 3113 in the testnet. After that nodes running this version are imcompatible with old versions. However, this version is still compatible with v0.25.0 and above in the mainnet.

See how to connect to various chains in Wiki.

This version has some minor RPC changes:

  • #3029 added a new parameter in the RPC get_transaction, which is 2 by default. The response is compatible by setting it to 0.
  • #3028 changed 'connected_duration' duration unit to milliseconds in get_peers RPC.
  • #3055 fixed a bit in the RPC calculate_dao_maximum_withdraw.

Downloads

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

The binaries require following CPU instructions: call (MODE64), cmovbe (CMOV), xorps (SSE1), movq (SSE2)

The .asc files are signatures. It is wise and more secure to check out for the files integrity.

Features

  • #2989: Cleanup expired blocks in orphan block (@chanhsu001)
  • #2979: Remove conflict pending for reorg (@zhangsoledad)
  • #3029 rpc: Record recent reject (@zhangsoledad)
  • #3113 fork: Activate ckb2021 in testnet since epoch 3113 (@doitian)
  • #3095: Remove invalid header dep tx for reorg (@zhangsoledad)
  • #3100: Tx-pool entry timestamp (@zhangsoledad)

Bug Fixes

  • #2984: Tx-pool snapshot consistency (@zhangsoledad)
  • #3052: Fix identify disconnect (@driftluo)
  • #3058: Ignore proposal window on vm version selection (@driftluo)
  • #3068: Block-template test (@zhangsoledad)
  • #3059: Graceful shutdown (@zhangsoledad)
  • #3079: Don't use cache if tx-pool does re-org process during hardfork (@yangby-cryptape)
  • #3077: Fix declared cycles check (@zhangsoledad)
  • #3055: Resolve rpc calculate_dao_maximum_withdraw issue (@quake)
  • #3090: Tx-pool refreshes caches with the incorrect VM version after hardfork (@yangby-cryptape)
  • #3094: Fix inflight block potential memory bloat issues (@driftluo)
  • #3093: Resolve inflight proposals memory bloat issue (@quake)
  • #3110: Fix pending compact block memory bloat on abnormal flow (@driftluo)

Improvements

  • #3023: Switch global alloc to tikv-jemallocator (@zhangsoledad)

  • #2914: Remove impl cell_provider on store (@zhangsoledad)

  • #3028 rpc: Change 'connected_duration' duration unit to milliseconds (@chanhsu001)

    BREAKING RPC. Change field connected_duration time unit from seconds to milliseconds in get_peers RPC to make time unit used consistently in get_peers , RPC clients are suggested to modify time quantity correspond with this change.

ckb - ckb 0.100.0 (c978940 2021-09-13)

Published by doitian about 3 years ago

This version is compatible with v0.25.0 and above. However, it is recommended to upgrade the node, since we will only release security patches based on the latest release.

See how to connect to various chains in Wiki.

The version v0.100.0 will bring incompatible changes for the next hard fork but it will not activate the hard fork for testnet and mainnet. So it is compatible with the current testnet and mainnet.

  • The block header as a new field extra_hash, which replaced uncles_hash.
  • The block has a new field extension but no blocks may set it before the hard fork activation.
  • The field hash_type has a new allowed value "data1" but it is invalid before the hard fork activation.
  • The default value of the parameter OutputsValidator in the JSON RPC send_transaction is well_known_scripts_only now. See #2821 for details.

Downloads

OS Arch Runtime Dependencies Package Sign
macOS x64 macOS 10.12 or above 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.

** The binaries require following CPU instructions: call (MODE64), cmovbe (CMOV), xorps (SSE1), movq (SSE2)

The .asc files are signatures. It is wise and more secure to check out for the files integrity.

This version contains the fork features in ckb2021 which are disabled in testnet and mainnet.

Features

  • #2715 hardfork: ckb2021 hardfork features (@yangby-cryptape)

    See https://github.com/nervosnetwork/rfcs/pull/242

  • #2756 hardfork: Ckb2021 hardfork features (vm related part) (@yangby-cryptape)

    See https://github.com/nervosnetwork/rfcs/pull/242

    • #2818 hardfork: Change field "hash_type" to an enumerated type (@yangby-cryptape)

      BREAKING CHANGES: Revert breaking changes which were introduced in #2756.

  • #2796 hardfork: Net hardfork (@driftluo)

    See https://github.com/nervosnetwork/rfcs/pull/234

  • #2797 hardfork: Reject vm1 lock script before hardfork started to keep compatible with old clients (@yangby-cryptape)

  • #2798 hardfork: Remove the header deps immature rule (@yangby-cryptape)

    See [CKB-RFCs PR 240: RFC: Remove header deps immature rule](https://github.com/nervosnetwork/rfcs/pull/240)
    
  • #2819: Only send notifications when service is stated (@zhangsoledad)

  • #2817: Prepend the binary version to BlockAssemblerConfig message (@quake)

  • #2821: Change default OutputsValidator to well_known_scripts_only (@quake)

  • #2792 hardfork: Verify the epoch in since more strictly (@yangby-cryptape)

    • A transaction with since absolute (or relative) epoch is valid only if epoch_index is less than epoch_length or both epoch_index and epoch_length are zero.
    • Using rational number operations for both since absolute epoch and since relative epoch.

    See more in https://github.com/nervosnetwork/rfcs/pull/223

  • #2776 hardfork: Rename JSON RPC field "uncles_hash" to "extra_hash" (@yangby-cryptape)

  • #2799: Resumeble verification, which removes the cycles limit to relay tx (@zhangsoledad)

  • #2846: Dial bootnode randomly (@driftluo)

  • #2854: Better tips for "migrate" subcomamnd (@yangby-cryptape)

  • #2849: Remove old version peer from peer store on fork (@driftluo)

  • #2641: Add network protocol config (@quake)

  • #2879 hardfork: Add a new field "hardfork_features" to the return of RPC method "get_consensus" (@yangby-cryptape)

  • #2913: Upgrade hyper, and ckb-vm (@driftluo)

  • #2656: Persistent tx-pool data into a file when it has been shutdown (@quake)

  • #2921: Reduce cellbase maturity on staging spec (@keroro520)

  • #2963: Update ckb-vm to 0.20.0-rc4 (@mohanson)

    ckb-vm 0.20.0-rc4 release note: https://github.com/nervosnetwork/ckb-vm/releases/tag/0.20.0-rc4

  • #3004: Update ckb-vm to 0.20.0-rc5 (@mohanson)

    Contains a bug fix, see release notes below:

    https://github.com/nervosnetwork/ckb-vm/releases/tag/0.20.0-rc5

Bug Fixes

  • #2785: Put migration version (@zhangsoledad)

    A bug introduced by https://github.com/nervosnetwork/ckb/commit/220464f, cause the migration version do not put in the new created DB.

  • #2827: Fix peer store evict (@driftluo)

    Originally, only the data in the largest group was considered, but now it is changed to traverse at least half of the groups

  • #3012: Fix dummy miner solve (@driftluo)

  • #3011: Shouldn't override the log.file after touch it (@yangby-cryptape)

  • #2787: Put migration version (@zhangsoledad)

  • #2829: Fix peer store evict (@driftluo)

  • #2833: Display full path for deprecated fields in warning messages (@yangby-cryptape)

  • #2856: Touch last_txs_updated_at in tx pool (@zhangsoledad)

  • #2857: Fix the status marking problem of header sync (@driftluo)

  • #2877: Don't panic when the database is created by a higher version executable binary (@yangby-cryptape)

  • #2894: There may be competition between header sync and eviction (@driftluo)

  • #2897 metrics: There is no reactor running (@yangby-cryptape)

  • #2906: Try traverse all unknown parent hash (@driftluo)

  • #2923: Callback potentially incorrect trigger on concurrent context (@zhangsoledad)

  • #2924 test: Make sure testnode graceful shutdown basic sync (@zhangsoledad)

  • #2934: Fix stream body read (@driftluo)

  • #2932: Persisted test wait tx-pool ready (@zhangsoledad)

  • #2950 reset-data: The argument --network-peer-store couldn't work (@yangby-cryptape)

  • #2971: Snapshot cycles calculation (@zhangsoledad)

Improvements

  • #2755: Avoid unnecessary db creation (@zhangsoledad)

  • #2685: Replace RwLock/Mutex<HashMap/HashSet> with DashMap (@quake)

  • #2736: Move state flag to HeadersSyncState enum (@quake)

    We are using 3 fields sync_started / sync_connected / not_sync_until in the headers sync process, this PR refactored them to a state machine enum HeadersSyncState

  • #2707: Use KeyedPriorityQueue to replace BTreeMap/HashSet (@quake)

  • #2791: Verify the epoch in block headers explicitly (@yangby-cryptape)

    The data of epoch in bytes is not same as the EpochNumberWithFraction, which causes a few unintended consequences.

  • #2822: Compatibility policy for configuration files (@yangby-cryptape)

    • Deny unknown configuration items.

      To avoid several kinds of mistakes, for example, typos.

    • Allow deprecated configuration items, but they will be ignored; and warning messages will be output.
      After several versions, if these deprecated items satisfied any of the following conditions, they will be fully removed (denied):

      • Not list in the default configuration files.
      • Be tagged as "Experimental".
    • The default configuration files will not include any deprecated configuration items.

    • The default configuration files will not enable any experimental configuration items.

  • #2770: Use community contributed site for script error codes (@doitian)

  • #2779: Give an unique id to each global runtime thread (@yangby-cryptape)

  • #3006 rpc: Change struct from "TxPoolVerbosity" to "TxPoolEntries… (@chanhsu001)

    Breaking change for using ckb crates.

  • #2841: Remove redudant as_ref (@doitian)

  • #2863: Avoid duplicate cell check (@zhangsoledad)

  • #2870: Replace metrics-rs with opentelemetry-rust (@yangby-cryptape)

  • #2925: Enum tuple struct (@zhangsoledad)

  • #2948: Remove dependency on tempfile in ckb-resource (@chanhsu001)

  • #2982: Regex new is expensive (@driftluo)

  • #2964: Refactor peer store (@driftluo)