Nervos CKB Development Update #39

Nervos Network
Nervos Network
Published in
3 min readSep 2, 2020
Nervos CKB development update #39

Covering Aug 10 to August 23, 2020

It’s time for another update! Check out what the dev team has been up to during the past few weeks.

The CKB dev team released v0.35.0 with RPC changes and other new features.

In the last two weeks, we have

  • Completed the light client demo.
  • Refactored Tentacle Rust and implemented protocols for Tentacle Go.
  • Been designing the new memory pool.
  • Been speeding up block verification.
  • Been optimizing CKB for machines with limited memory.
  • Been improving the tests.

Metrics help developers to troubleshoot and discover performance bottlenecks. It also helps users to know the synchronization progress and CKB node status.

CKB used to print the metrics to the log file. Boyu has embedded a metrics service just inside the CKB node. Now it is super easy to collect metrics from CKB and visualize them using tools Prometheus and Grafana.

Light client demo

Quake has completed the light client demos for desktop and Android. The next step is developing some interesting PoC products to verify the protocols.

Tentacle Go and Rust

Tentacle Go brings the P2P framework to Go and extends the ecosystem. It also helps to improve the Rust version.

Chao has implemented the ping, identity and discovery protocols for Go. He also rewrote the Rust version of ping and discovery protocols to improve the performance.

The CKB rust implementation can also be used as a library. Boyu has refactored the logger module so that the CKB libraries will no longer depend on the logging runtime dependencies. It will save time to build the tools based on CKB libraries and reduce the binary size.

New memory pool

The current pool is complex and has several performance issues. The payment channel and other protocols may have new requirements for the pool as well.

Ian has finished the survey on fee estimation and bumping mechanism and published two articles for review:

Block verification speed

The block verification is a bottleneck for chain synchronization now. Dingwei has been working on improving the cell cache to speed up block verification.

CKB for machines with limited memory

Lowering hardware requirements makes the network more decentralized.

Boyu has wrapped up his work on tweaking RocksDb. He has successfully ran a node which memory is stable below 650M. He was working on the documentation. It is now possible to run a CKB node on the Raspberry Pi with 1G memory.

Test

Test helps find bugs and performance bottlenecks.

Boyu, Guozhen and Yulong were working on the new tps-bench, a tool the team used to benchmark how many two-inputs-two-outputs secp256k1 transactions CKB can process per second.

Yulong and Guozhen have been refactoring the integration tests. They extracted common methods and added new utilities to set up tests and make assertions.

To stay updated on all things Nervos:

Join our community: DiscordGithubNervos Talk ForumTwitter

For discussions or questions join the conversation on Discord or check out one of our community Telegram channels: English, Korean, Russian, Japanese, Spanish, Vietnamese and Chinese

--

--