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 hidden (Show)

ckb - ckb 0.37.0 (3076ff6 2020-10-20)

Published by doitian almost 4 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.

Starting from v0.37.0, all the crates will be published to crates.io as well. See ckb in crates.io for details.

Breaking Changes

Database

⚠️ This new version will migrate the database on first launch. Please backup the data dir if you want to use old versions later.

⚠️ The migration takes about half an hour. The node denies all RPC requests during the migration.

Config file

There is a new config option db.options_file introduced in #2299. This option provides an options file to tune RocksDB for your workload and your system configuration. More details can be found in the official tuning guide. Remove or comment this option to use the default options file, which is the behavior in previous versions.

RPC

The RPC get_cells_by_lock_hash is deprecated and now it only returns errors (#2269).

There are 4 new RPC methods: ping_peers, get_transaction_proof, verify_transaction_proof, and clear_banned_addresses.

The subscribe RPC added a new topic new_transaction.

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 .asc files are signatures. It is wise and more secure to check out for the files integrity.

Features

  • #2270 rpc: Rework rpc doc (@doitian)

  • #2299: Add a default RocksDB options file (@yangby-cryptape)

    The default options file limits the maximum memory usage.

  • #2276: Improve migration progress display (@zhangsoledad)

  • #2257 rpc: Add ping_peers rpc (@quake)

  • #2260 rpc: Add get_transaction_proof and verify_transaction_proof rpc (@quake)

  • #2259 rpc: Add clear_banned_addresses rpc (@quake)

  • #2265 rpc: Add nMinimumChainWork config (@driftluo)

    The mainnet has been online for a long time, and it is time to add a minimum workload proof to prevent possible node attacks during the initial synchronization.

  • #2269: Redesign cell store (@zhangsoledad)

    Previous cell storage is inefficient. This PR proposal a new live cell storage schema, which optimized the resolve transaction bottleneck.

    Breaking Changes:

    • This PR will migrate the database.
    • The RPC get_cells_by_lock_hash is deprecated and now it only returns errors.
  • #2281 rpc: Add tx subscription RPC (@quake)

    This PR added a new_transaction topic to subscription rpc, user will get notified when new transaction is submitted to pool.

Bug Fixes

  • #2285: Fix the problem of disconnection caused by uncertainty (@driftluo)
  • #2283: Resolve network background service cleanup issue when rpc tcp server is on (@quake)
  • #2298: Skip RUSTSEC-2020-0043 temporarily (@yangby-cryptape)

Improvements

  • #2236: Rewrite discovery (@driftluo)
  • #2303: Replace legacy crate lru-cache (@zhangsoledad)
  • #2282 test: Create log monitor for integration test check status between nodes (@chuijiaolianying)
  • #2286 test: Redesign the testing framework (@keroro520)
  • #2294 test: Redesign the way of Net communicate with peers (@keroro520)
  • #2268 test: Add some transaction checking utils (@keroro520)
ckb -

Published by nervos-bot-user about 4 years ago

ckb 0.37.0-pre (9ae4b75 2020-10-12)

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

This version introduces the new RPC doc which contains detailed information about the types and errors.

Breaking Changes

Database

⚠️ This new version will migrate the database on first launch. Please backup the data dir if you want to use old versions later.

⚠️ The migration takes about half an hour. The node denies all RPC requests during the migration.

Config file

There is a new config option db.options_file introduced in #2299. This option provides an options file to tune RocksDB for your workload and your system configuration. More details can be found in the official tuning guide. Remove or comment this option to use the default options file, which is the behavior in previous versions.

RPC

The RPC get_cells_by_lock_hash is deprecated and now it only returns errors (#2269).

There are 4 new RPC methods: ping_peers, get_transaction_proof, verify_transaction_proof, and clear_banned_addresses.

The subscribe RPC added a new topic new_transaction.

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.

Features

  • #2270 rpc: Rework rpc doc (@doitian)

  • #2299: Add a default RocksDB options file (@yangby-cryptape)

    The default options file limits the maximum memory usage.

  • #2276: Improve migration progress display (@zhangsoledad)

  • #2257 rpc: Add ping_peers rpc (@quake)

  • #2260 rpc: Add get_transaction_proof and verify_transaction_proof rpc (@quake)

  • #2259 rpc: Add clear_banned_addresses rpc (@quake)

  • #2265 rpc: Add nMinimumChainWork config (@driftluo)

    The mainnet has been online for a long time, and it is time to add a minimum workload proof to prevent possible node attacks during the initial synchronization.

  • #2269: Redesign cell store (@zhangsoledad)

    Previous cell storage is inefficient. This PR proposal a new live cell storage schema, which optimized the resolve transaction bottleneck.

    Breaking Changes:

    • This PR will migrate the database.
    • The RPC get_cells_by_lock_hash is deprecated and now it only returns errors.
  • #2281 rpc: Add tx subscription RPC (@quake)

    This PR added a new_transaction topic to subscription rpc, user will get notified when new transaction is submitted to pool.

Bug Fixes

  • #2285: Fix the problem of disconnection caused by uncertainty (@driftluo)
  • #2283: Resolve network background service cleanup issue when rpc tcp server is on (@quake)
  • #2298: Skip RUSTSEC-2020-0043 temporarily (@yangby-cryptape)

Improvements

  • #2236: Rewrite discovery (@driftluo)
  • #2303: Replace legacy crate lru-cache (@zhangsoledad)
  • #2282 test: Create log monitor for integration test check status between nodes (@chuijiaolianying)
  • #2286 test: Redesign the testing framework (@keroro520)
  • #2294 test: Redesign the way of Net communicate with peers (@keroro520)
  • #2268 test: Add some transaction checking utils (@keroro520)
ckb - ckb 0.36.0 (7692751 2020-09-21)

Published by doitian about 4 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.

Breaking Changes

  • #2251 RPC: Deprecated RPC method by adding deprecated. prefix to the rpc name (@quake)

    This PR has also deprecated following RPC methods:

    • get_cells_by_lock_hash
    • All methods in the Indexer module.

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 .asc files are signatures. It is wise and more secure to check out for the files integrity.

Breaking Changes

  • #2251 RPC: Deprecated RPC method by adding deprecated. prefix to the rpc name (@quake)

    This PR has also deprecated following RPC methods:

    • get_cells_by_lock_hash
    • All methods in the Indexer module.

Features

  • #2276: Improve database migration progress display (@zhangsoledad)

  • #2199: Add metrics service (@yangby-cryptape)

    How to enable the metrics service

  • #2243: Refactor identify network protocol by removing Both (@driftluo)

  • #2239: Support to control memory usage for header map (@yangby-cryptape)

  • #2248: Add verbosity param to chain related rpc (@quake)

    This PR adds an optional verbosity param to chain related rpc, returns data in hex format without calculated hash values, it will improve performance in some scenarios.

Bug Fixes

  • #2283: Resolve network background service cleanup issue when rpc tcp server is on. (@quake)

  • #2266: Use forked metrics and forked sentry to fix RUSTSEC-2020-0041 temporarily (@yangby-cryptape)

  • #2212: Advance last_common_header even the peer is worse than us (@keroro520)

  • #2238: Tx-pool block_on async oneshot (@zhangsoledad)

    Replace crossbeam-channel with async oneshot

  • #2216: Integration test random failures (@quake)

    While waiting for the get_blocks message in the integration test, we should determine whether the last block hash is equal or not.

Improvements

  • #2220: Split logger config and service (@yangby-cryptape)

  • #2213: Reduce useless field and reduce get time call (@driftluo)

  • #2245 logger: Replace lazy_static with once_cell (@zhangsoledad)

  • #2229: Rewrite the ping network protocol (@driftluo)

  • #2244: Re-export crossbeam-channel (@zhangsoledad)

    Re-export crossbeam-channel from facade wrapper, unify version specify.

    Use tilde requirements specify for crossbeam-channel, prevent automate dependency updates.

ckb - ckb 0.35.1 (9f1c1478 2020-09-14)

Published by doitian about 4 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.

This patch version added the migration progress display (#2276) because the migration introduced in v0.35.0 is slow. However, CKB may take a long time to start because of RocksDB data compaction. We'll bundle recommended RocksDB options file in later releases to alleviate it.

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 .asc files are signatures. It is wise and more secure to check out for the files integrity.

Features

  • #2276: Improve migration progress display (@zhangsoledad)
ckb -

Published by doitian about 4 years ago

ckb 0.36.0-pre (88e8d50 2020-09-14)

Bug Fixes

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

This version has deprecated the following RPC methods (#2251):

  • get_cells_by_lock_hash
  • All methods in the Indexer module.

The new config file option rpc.enable_deprecated_rpc can enable the deprecated methods.

Changes since v0.36.0-rc2

  • #2276: Improve database migration progress display (@zhangsoledad)
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.

Breaking Changes

  • #2251 RPC: Deprecated RPC method by adding deprecated. prefix to the rpc name (@quake)

    This PR has also deprecated following RPC methods:

    • get_cells_by_lock_hash
    • All methods in the Indexer module.

Features

  • #2276: Improve database migration progress display (@zhangsoledad)

  • #2199: Add metrics service (@yangby-cryptape)

    How to enable the metrics service

  • #2243: Refactor identify network protocol by removing Both (@driftluo)

  • #2239: Support to control memory usage for header map (@yangby-cryptape)

  • #2248: Add verbosity param to chain related rpc (@quake)

    This PR adds an optional verbosity param to chain related rpc, returns data in hex format without calculated hash values, it will improve performance in some scenarios.

Bug Fixes

  • #2266: Use forked metrics and forked sentry to fix RUSTSEC-2020-0041 temporarily (@yangby-cryptape)

  • #2212: Advance last_common_header even the peer is worse than us (@keroro520)

  • #2238: Tx-pool block_on async oneshot (@zhangsoledad)

    Replace crossbeam-channel with async oneshot

  • #2216: Integration test random failures (@quake)

    While waiting for the get_blocks message in the integration test, we should determine whether the last block hash is equal or not.

Improvements

  • #2220: Split logger config and service (@yangby-cryptape)

  • #2213: Reduce useless field and reduce get time call (@driftluo)

  • #2245 logger: Replace lazy_static with once_cell (@zhangsoledad)

  • #2229: Rewrite the ping network protocol (@driftluo)

  • #2244: Re-export crossbeam-channel (@zhangsoledad)

    Re-export crossbeam-channel from facade wrapper, unify version specify.

    Use tilde requirements specify for crossbeam-channel, prevent automate dependency updates.

ckb -

Published by doitian about 4 years ago

ckb 0.36.0-pre (38aacb5 2020-09-11)

Bug Fixes

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

This version has deprecated the following RPC methods (#2251):

  • get_cells_by_lock_hash
  • All methods in the Indexer module.

The new config file option rpc.enable_deprecated_rpc can enable the deprecated methods.

Changes since v0.36.0-rc1

  • #2266: Use forked metrics and forked sentry to fix RUSTSEC-2020-0041 temporarily (@yangby-cryptape)
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.

Breaking Changes

  • #2251 RPC: Deprecated RPC method by adding deprecated. prefix to the rpc name (@quake)

    This PR has also deprecated following RPC methods:

    • get_cells_by_lock_hash
    • All methods in the Indexer module.

Features

  • #2199: Add metrics service (@yangby-cryptape)

    How to enable the metrics service

  • #2243: Refactor identify network protocol by removing Both (@driftluo)

  • #2239: Support to control memory usage for header map (@yangby-cryptape)

  • #2248: Add verbosity param to chain related rpc (@quake)

    This PR adds an optional verbosity param to chain related rpc, returns data in hex format without calculated hash values, it will improve performance in some scenarios.

Bug Fixes

  • #2266: Use forked metrics and forked sentry to fix RUSTSEC-2020-0041 temporarily (@yangby-cryptape)

  • #2212: Advance last_common_header even the peer is worse than us (@keroro520)

  • #2238: Tx-pool block_on async oneshot (@zhangsoledad)

    Replace crossbeam-channel with async oneshot

  • #2216: Integration test random failures (@quake)

    While waiting for the get_blocks message in the integration test, we should determine whether the last block hash is equal or not.

Improvements

  • #2220: Split logger config and service (@yangby-cryptape)

  • #2213: Reduce useless field and reduce get time call (@driftluo)

  • #2245 logger: Replace lazy_static with once_cell (@zhangsoledad)

  • #2229: Rewrite the ping network protocol (@driftluo)

  • #2244: Re-export crossbeam-channel (@zhangsoledad)

    Re-export crossbeam-channel from facade wrapper, unify version specify.

    Use tilde requirements specify for crossbeam-channel, prevent automate dependency updates.

ckb -

Published by doitian about 4 years ago

ckb 0.36.0-pre (a2378b5 2020-09-06)

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

This version has deprecated the following RPC methods (#2251):

  • get_cells_by_lock_hash
  • All methods in the Indexer module.

The new config file option rpc.enable_deprecated_rpc can enable the deprecated methods.

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.

Breaking Changes

  • #2251 RPC: Deprecated RPC method by adding deprecated. prefix to the rpc name (@quake)

    This PR has also deprecated following RPC methods:

    • get_cells_by_lock_hash
    • All methods in the Indexer module.

Features

  • #2199: Add metrics service (@yangby-cryptape)

    How to enable the metrics service

  • #2243: Refactor identify network protocol by removing Both (@driftluo)

  • #2239: Support to control memory usage for header map (@yangby-cryptape)

  • #2248: Add verbosity param to chain related rpc (@quake)

    This PR adds an optional verbosity param to chain related rpc, returns data in hex format without calculated hash values, it will improve performance in some scenarios.

Bug Fixes

  • #2212: Advance last_common_header even the peer is worse than us (@keroro520)

  • #2238: Tx-pool block_on async oneshot (@zhangsoledad)

    Replace crossbeam-channel with async oneshot

  • #2216: Integration test random failures (@quake)

    While waiting for the get_blocks message in the integration test, we should determine whether the last block hash is equal or not.

Improvements

  • #2220: Split logger config and service (@yangby-cryptape)

  • #2213: Reduce useless field and reduce get time call (@driftluo)

  • #2245 logger: Replace lazy_static with once_cell (@zhangsoledad)

  • #2229: Rewrite the ping network protocol (@driftluo)

  • #2244: Re-export crossbeam-channel (@zhangsoledad)

    Re-export crossbeam-channel from facade wrapper, unify version specify.

    Use tilde requirements specify for crossbeam-channel, prevent automate dependency updates.

ckb - ckb 0.35.0 (6caf504 2020-08-24)

Published by doitian about 4 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.

This version has some breaking changes in RPCs. The RPC error now uses different error codes and returns the detailed error information in the data field. (#2038)

There are also a bunch of new RPCs and new fields for existing RPCs, see the CHANGELOG for details.

This version also has migrated the database schema. It will run automatically when the new version starts the first time. (#2152)

Attention: The migration is not reversible. Please backup the data directory if you want to use old versions later.

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 .asc files are signatures. It is wise and more secure to check out for the files integrity.

Features

  • #2038 rpc: Re-organize RPC errors (@doitian)

    This is a breaking change: b:rpc

    This PR reworks on the RPC errors:

    • Use JSONRPC error code to differentiate different errors. Also prefix the error code in the message to be search engine friendly.
    • Make error message simple and easy to understand. The dump of the error is added as the data instead.
    • Avoid reusing the same error message for different reasons.

    Breaking Changes

    • The error object data field is always absent before, now it can be a string which contains the detailed error information.
    • The code in error object is always -3 for all the CKB internal errors, now it can have different values to differentiate different errors. Check the file rpc/src/error.rs.
    • The error messages have been updated to improve readability.
  • #2049 rpc: Improve error messages from send transaction RPC (@doitian)

  • #2178 rpc: Add generate_block RPC to IntegrationTest module (@quake)

    It allows user to generate block through RPC, it's a convenient feature for dApp integration test (like truncate RPC)

  • #2188 rpc: Add sync state RPC (@driftluo)

    Wallet can fetch the best known block header the node gets from the P2P network.

  • #2184 rpc: Tx_pool_info include tip hash (@keroro520)

  • #2144 rpc: Add set_network_active RPC (@quake)

    Allows user to pause and restart p2p network message processing through RPC.

  • #2190 rpc: Move add_node / remove_node RPC to Net module (@quake)

  • #2196 rpc: Add more fields to RPC get_peers (@quake)

    Added connected_duration, last_ping_duration, protocols and sync_state to get_peers RPC.

  • #2195 rpc: Add more fields to local_node_info RPC (@quake)

    Added active, connections and protocols fields to local_node_info.

  • #2159: Load db options from a file; support configuring column families (@yangby-cryptape)

  • #2175: Support multiple file loggers in ckb.toml (@yangby-cryptape)

  • #2182: Take full control of main logger filter via RPC (@yangby-cryptape)

Bug Fixes

  • #2158: Panic if db options is empty (@yangby-cryptape)

  • #2157: The option of db path doesn't work (@yangby-cryptape)

  • #2177: Fix the lenient logger filter parser (@yangby-cryptape)

  • #2134: Update proposal table after chain reorg (@zhangsoledad)

    Previously, proposal-table update not considered in chain rollback, it's almost impossible to happen in hashrate-based chain. But can be triggered by truncate RPC.

  • #2197: Should exit with error code when setup failed (@yangby-cryptape)

    Issue: if the config was malformed and an error was thrown in setup_app, the process wouldn't exit.

Improvements

  • #2152: Change storage molecule table to struct (@quake)

    This is a breaking change: b:database

    Storage structs HeaderView, EpochExt and TransactionInfo are fixed size, we should use molecule struct instead of table, it reduces storage size and improves the performance a little bit.

  • #2150: Don't query store twice in method chaining (@yangby-cryptape)

  • #2151: Reduce times of querying header map (@yangby-cryptape)

  • #2147: Don't cache all data of header map in memory during IBD (@yangby-cryptape)

  • #2154: Split chain iter (@zhangsoledad)

  • #2153: Decoupling migration from db (@zhangsoledad)

    Previously, migration coupling with DB, this sacrifice flexibility. In a case like this, opening a read-only DB will be trouble.
    This PR proposal split migration.

  • #2163: Add HeaderProvider trait and split DataLoader to smaller trait (@quake)

  • #1988: Use a new method to detect headers sync timeout (@yangby-cryptape)

    To avoid possible performance issues on headers synchronization.

  • #2180: Add case description and some assertion for alert_propagation integration test (@chuijiaolianying)

  • #2179: Refactor about integration service mining relate cases. (@chuijiaolianying)

  • #2189: Add case description and update case assertions for consensus related cases. (@chuijiaolianying)

  • #2204: Add some trait for integration cases (@chuijiaolianying)

  • #2164: Improve script error (@doitian)

  • #2168: Improve error when submitting block (@doitian)

  • #2169: Small tx-pool refactoring (@zhangsoledad)

    • rename ContextualTransactionVerifier -> TimeRelativeTransactionVerifier
    • split NonContextualTransactionVerifier from TransactionVerifier
    • check syntactic correctness first before
    • refactory tx-pool rejection error
    • re-broadcast when duplicated tx submit
ckb -

Published by nervos-bot-user about 4 years ago

ckb 0.35.0-pre (0c1a61c 2020-08-10)

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

This version has some breaking changes in RPCs. The RPC error now uses different error codes and returns the detailed error information in the data field. (#2038)

There are also a bunch of new RPCs and new fields for existing RPCs, see the CHANGELOG for details.

This version also has migrated the database schema. It will run automatically when the new version starts the first time. (#2152)

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.

Features

  • #2038 rpc: Re-organize RPC errors (@doitian)

    This is a breaking change: b:rpc

    This PR reworks on the RPC errors:

    • Use JSONRPC error code to differentiate different errors. Also prefix the error code in the message to be search engine friendly.
    • Make error message simple and easy to understand. The dump of the error is added as the data instead.
    • Avoid reusing the same error message for different reasons.

    Breaking Changes

    • The error object data field is always absent before, now it can be a string which contains the detailed error information.
    • The code in error object is always -3 for all the CKB internal errors, now it can have different values to differentiate different errors. Check the file rpc/src/error.rs.
    • The error messages have been updated to improve readability.
  • #2049 rpc: Improve error messages from send transaction RPC (@doitian)

  • #2178 rpc: Add generate_block RPC to IntegrationTest module (@quake)

    It allows user to generate block through RPC, it's a convenient feature for dApp integration test (like truncate RPC)

  • #2188 rpc: Add sync state RPC (@driftluo)

    Wallet can fetch the best known block header the node gets from the P2P network.

  • #2184 rpc: Tx_pool_info include tip hash (@keroro520)

  • #2144 rpc: Add set_network_active RPC (@quake)

    Allows user to pause and restart p2p network message processing through RPC.

  • #2190 rpc: Move add_node / remove_node RPC to Net module (@quake)

  • #2196 rpc: Add more fields to RPC get_peers (@quake)

    Added connected_duration, last_ping_duration, protocols and sync_state to get_peers RPC.

  • #2195 rpc: Add more fields to local_node_info RPC (@quake)

    Added active, connections and protocols fields to local_node_info.

  • #2159: Load db options from a file; support configuring column families (@yangby-cryptape)

  • #2175: Support multiple file loggers in ckb.toml (@yangby-cryptape)

  • #2182: Take full control of main logger filter via RPC (@yangby-cryptape)

Bug Fixes

  • #2158: Panic if db options is empty (@yangby-cryptape)

  • #2157: The option of db path doesn't work (@yangby-cryptape)

  • #2177: Fix the lenient logger filter parser (@yangby-cryptape)

  • #2134: Update proposal table after chain reorg (@zhangsoledad)

    Previously, proposal-table update not considered in chain rollback, it's almost impossible to happen in hashrate-based chain. But can be triggered by truncate RPC.

  • #2197: Should exit with error code when setup failed (@yangby-cryptape)

    Issue: if the config was malformed and an error was thrown in setup_app, the process wouldn't exit.

Improvements

  • #2152: Change storage molecule table to struct (@quake)

    This is a breaking change: b:database

    Storage structs HeaderView, EpochExt and TransactionInfo are fixed size, we should use molecule struct instead of table, it reduces storage size and improves the performance a little bit.

  • #2150: Don't query store twice in method chaining (@yangby-cryptape)

  • #2151: Reduce times of querying header map (@yangby-cryptape)

  • #2147: Don't cache all data of header map in memory during IBD (@yangby-cryptape)

  • #2154: Split chain iter (@zhangsoledad)

  • #2153: Decoupling migration from db (@zhangsoledad)

    Previously, migration coupling with DB, this sacrifice flexibility. In a case like this, opening a read-only DB will be trouble.
    This PR proposal split migration.

  • #2163: Add HeaderProvider trait and split DataLoader to smaller trait (@quake)

  • #1988: Use a new method to detect headers sync timeout (@yangby-cryptape)

    To avoid possible performance issues on headers synchronization.

  • #2180: Add case description and some assertion for alert_propagation integration test (@chuijiaolianying)

  • #2179: Refactor about integration service mining relate cases. (@chuijiaolianying)

  • #2189: Add case description and update case assertions for consensus related cases. (@chuijiaolianying)

  • #2204: Add some trait for integration cases (@chuijiaolianying)

  • #2164: Improve script error (@doitian)

  • #2168: Improve error when submitting block (@doitian)

  • #2169: Small tx-pool refactoring (@zhangsoledad)

    • rename ContextualTransactionVerifier -> TimeRelativeTransactionVerifier
    • split NonContextualTransactionVerifier from TransactionVerifier
    • check syntactic correctness first before
    • refactory tx-pool rejection error
    • re-broadcast when duplicated tx submit
ckb - 0.34.2 (398bd3c 2020-08-08)

Published by nervos-bot-user about 4 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.

This release contains several security issue fixings, see change log 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 files are signatures. It is wise and more secure to check out for the files integrity.

  • GHSA-q73f-w3h7-7wcc: Syscall to get data hash has inconsistent behaviors. (@zhangsoledad)
  • GHSA-wjxc-pjx9-4wvm: Upgrade snappy to 1.0. (@quake)
  • GHSA-3gjh-29fv-8hr6: Limit the decompressed size of p2p message. (@quake)
ckb - 0.34.1 (323e44c 2020-07-19)

Published by doitian about 4 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.

Fixed GHSA-hjqq-29pw-96wj: CKB node panics when processing a block which parent timestamp is too new.

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 files are signatures. It is wise and more secure to check out for the files integrity.

ckb - 0.33.2 (bc4b991 2020-07-19)

Published by doitian about 4 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.

Fixed GHSA-hjqq-29pw-96wj: CKB node panics when processing a block which parent timestamp is too new.

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 files are signatures. It is wise and more secure to check out for the files integrity.

ckb - ckb 0.34.0 (f37f598 2020-07-17)

Published by doitian over 4 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.

Highlights in this release:

  • #2067 is another improvement to the chain sync speed.
  • #2145 limits the memory usage to make ckb friendly to devices with limited memory.
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.

Features

  • #2067: Optimize scheduler (@driftluo)

    Problems with the current scheduler:

    1. The calculation is too frequent
    2. Inability to adapt to complex network environments.

    This PR implements an adaptive scheduler based on past data, removing most of the redundant calculations.

  • #2145: Don't cache all block status in memory (@yangby-cryptape)

    When a node is start from number 0, it will sync all headers at first, then the block_status_map will be full quickly.
    Then, along with the block sync, all data in block_status_map will be removed.
    When the IBD is done, there will be nothing left in block_status_map.

    But when another new-started node try to sync data from this node, this node will fetch all block statuses from database and insert them into block_status_map without deletions. And full block status will store in memory until the node is shutdown.

  • #2113: Change logger filter dynamically via RPC (@yangby-cryptape)

  • #2036: Monitor rocksdb memory usages in logs (optional; default: disable) (@yangby-cryptape)

  • #2114: Add command to generate peer id (@driftluo)

    $ ckb peer-id gen --secret_path ./a.txt
    $ ckb peer-id from-secret --secret-path ./a.txt
    
  • #2045: New subcommand replay (@zhangsoledad)

    The new subcommand can be used in both profiling and sanity check, such as verifiying the downloaded data directory archive.

  • #2042: Return filename of jemalloc_profiling_dump (@keroro520)

  • #2064: Add RPC truncate (@keroro520)

    For convenient to reproduce a specified environment when test, this PR adds RPC truncate(target_tip_hash) to roll-back the blockchain downto the target block.

  • #2081: Update last_common_header only in find_blocks_to_fetch (@keroro520)

    peer.best_known_block refers to the best-known block we know this peer has announced; peer.last_common_header refers to the last block we both stored between local and peer. This PR proposes a new process to update the two fields.

  • #2136: Add RPC clear_tx_pool to remove all the transactions in the tx-pool (@keroro520)

Bug Fixes

  • #2101: Resolve an unexpected shutdown issue when we got a ProtoHandleBlock error in p2p (@quake)

  • #2124: prepare_uncles_test failed on block_template update delayed (@zhangsoledad)

  • #2140: Shrink state map (@zhangsoledad)

    Cause rust hash table capacity does not shrink automatically, we need explicit call shrink for predictable limit memory usage.

  • #2109: Fix deadlock caused by conflicting lock order (@BurtonQin)

Improvements

  • #2126: Remove fee estimator (@zhangsoledad)

    This estimate_fee_rate RPC is experimental, due to availability and performance issues, we decide to remove it.

  • #2128: Try next listen address on parsing error (@doitian)

  • #2107: Use generic key / value in template context (@quake)

    This PR changed TemplateContext key/value from fixed field to hashmap, it made the ckb-resource crate easier to use in 3rd party applications

  • #2103: Use generic type in NetworkService (@quake)

    This PR changed NetworkService's exit_condvar to generic type and removed node_version from start fn, make it easier to use ckb-network crate as a lib

  • #2096: Move network protocol related variables to SupportProtocols (@quake)

    To eliminate dependence of ckb-sync crate, this PR refactored network protocol related variables and move them to a new enum: SupportProtocols

ckb -

Published by doitian over 4 years ago

ckb 0.34.0-pre (673fd25 2020-07-03)

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

Highlights in this release:

  • #2067 is another improvement to the chain sync speed.
  • #2145 limits the memory usage to make ckb friendly to devices with limited memory.
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.

Features

  • #2067: Optimize scheduler (@driftluo)

    Problems with the current scheduler:

    1. The calculation is too frequent
    2. Inability to adapt to complex network environments.

    This PR implements an adaptive scheduler based on past data, removing most of the redundant calculations.

  • #2145: Don't cache all block status in memory (@yangby-cryptape)

    When a node is start from number 0, it will sync all headers at first, then the block_status_map will be full quickly.
    Then, along with the block sync, all data in block_status_map will be removed.
    When the IBD is done, there will be nothing left in block_status_map.

    But when another new-started node try to sync data from this node, this node will fetch all block statuses from database and insert them into block_status_map without deletions. And full block status will store in memory until the node is shutdown.

  • #2113: Change logger filter dynamically via RPC (@yangby-cryptape)

  • #2036: Monitor rocksdb memory usages in logs (optional; default: disable) (@yangby-cryptape)

  • #2114: Add command to generate peer id (@driftluo)

    $ ckb peer-id gen --secret_path ./a.txt
    $ ckb peer-id from-secret --secret-path ./a.txt
    
  • #2045: New subcommand replay (@zhangsoledad)

    The new subcommand can be used in both profiling and sanity check, such as verifiying the downloaded data directory archive.

  • #2042: Return filename of jemalloc_profiling_dump (@keroro520)

  • #2064: Add RPC truncate (@keroro520)

    For convenient to reproduce a specified environment when test, this PR adds RPC truncate(target_tip_hash) to roll-back the blockchain downto the target block.

  • #2081: Update last_common_header only in find_blocks_to_fetch (@keroro520)

    peer.best_known_block refers to the best-known block we know this peer has announced; peer.last_common_header refers to the last block we both stored between local and peer. This PR proposes a new process to update the two fields.

  • #2136: Add RPC clear_tx_pool to remove all the transactions in the tx-pool (@keroro520)

Bug Fixes

  • #2101: Resolve an unexpected shutdown issue when we got a ProtoHandleBlock error in p2p (@quake)

  • #2124: prepare_uncles_test failed on block_template update delayed (@zhangsoledad)

  • #2140: Shrink state map (@zhangsoledad)

    Cause rust hash table capacity does not shrink automatically, we need explicit call shrink for predictable limit memory usage.

  • #2109: Fix deadlock caused by conflicting lock order (@BurtonQin)

Improvements

  • #2126: Remove fee estimator (@zhangsoledad)

    This estimate_fee_rate RPC is experimental, due to availability and performance issues, we decide to remove it.

  • #2128: Try next listen address on parsing error (@doitian)

  • #2107: Use generic key / value in template context (@quake)

    This PR changed TemplateContext key/value from fixed field to hashmap, it made the ckb-resource crate easier to use in 3rd party applications

  • #2103: Use generic type in NetworkService (@quake)

    This PR changed NetworkService's exit_condvar to generic type and removed node_version from start fn, make it easier to use ckb-network crate as a lib

  • #2096: Move network protocol related variables to SupportProtocols (@quake)

    To eliminate dependence of ckb-sync crate, this PR refactored network protocol related variables and move them to a new enum: SupportProtocols

ckb - 0.33.1 (eebbbf1 2020-07-02)

Published by doitian over 4 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.

Bug Fixes

  • GHSA-r9rv-9mh8-pxf4: BlockTimeTooNew should not be considered as invalid block (@zhangsoledad)

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 files are signatures. It is wise and more secure to check out for the files integrity.

ckb - ckb 0.33.0 (0a813b2 2020-06-19)

Published by doitian over 4 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.

This release only contains bug fixes and improvements.

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 files are signatures. It is wise and more secure to check out for the files integrity.

Bug Fixes

  • #2052: Return connected address in RPC get_peers (@keroro520)

    The RPC get_peers miss the peer connected address. Hence it may be empty addresses returned for inbound peers.

Improvements

  • #2043: Upgrade tokio for tx-pool (@zhangsoledad)

    • bump tokio 0.2
    • refactor tx-pool with async/await
  • #2100: Move all Config structs to ckb-app-config (@quake)

    To eliminate large dependences of ckb-app-config, this PR moved all config related structs to this crate and reversed dependencies of other crates

  • #2091: Logger filter parse crate name leniently (@yangby-cryptape)

ckb -

Published by nervos-bot-user over 4 years ago

ckb 0.33.0-pre (967fc0e 2020-06-17)

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

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.

Bug Fixes

  • #2052: Return connected address in RPC get_peers (@keroro520)

    The RPC get_peers miss the peer connected address. Hence it may be empty addresses returned for inbound peers.

Improvements

  • #2043: Upgrade tokio for tx-pool (@zhangsoledad)

    • bump tokio 0.2
    • refactor tx-pool with async/await
  • #2100: Move all Config structs to ckb-app-config (@quake)

    To eliminate large dependences of ckb-app-config, this PR moved all config related structs to this crate and reversed dependencies of other crates

  • #2091: Logger filter parse crate name leniently (@yangby-cryptape)

ckb - ckb 0.32.2 (e729b54 2020-06-15)

Published by doitian over 4 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.

Bug Fixes

  • GHSA-pr39-8257-fxc2: Avoid crash when parsing network address (@driftluo)
  • #2109: Fix deadlock caused by conflicting lock order (@BurtonQin)

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 files are signatures. It is wise and more secure to check out for the files integrity.

ckb -

Published by doitian over 4 years ago

ckb 0.33.0-pre (b7e57a0 2020-06-05)

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

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.

Features

  • #2084: Expose methods so we can use CKB as a library (@xxuejie)
  • #2091: Logger filter parse crate name leniently (@yangby-cryptape)

Bug Fixes

  • #2063: Should use an empty peer store when failed to load data from file (@quake)

  • #2052: Return connected address in RPC get_peers (@keroro520)

  • #2074: Orphan block pool deadlock (@quake)

  • #2075: Fix collaboration issues between two protocol (@driftluo)

    relayer and sync have some known problems in the critical zone of switching, which are inherent to the request/response architecture.

Improvements

  • #2043: Upgrade tokio for tx-pool (@zhangsoledad)
  • #2100: Move all Config structs to ckb-app-config (@quake)
ckb - ckb 0.32.1 (9ebc9ce 2020-05-29)

Published by doitian over 4 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.

Bug Fixes:

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 files are signatures. It is wise and more secure to check out for the files integrity.