I don’t Want to Learn a New Lang

CKB Weekly #11

Hello, welcome to issue #11 of the CKB Weekly, a newsletter about the Nervos Common Knowledge Base blockchain and related technology. 

Recently we have seen several new smart contract languages: Libra releases Move Language; Algorand and Blockstack say to develop Smart Contracts Language Clarity; Bitcoin Core Developer Jeremy Rubin Is Developing New Smart Contracts for Bitcoin Language Sapio.

It is true that the current mainstream programming languages may not meet some of the technically specific needs of building applications on blockchains.

However, if we want to attract more developers to program on blockchains, maybe we should not add additional hurdles for them. It may be a breeze for some advanced programmers to learn a new programming language, but with the tide of trying to learn and master a programming language, it's how being on the side of the majority and being tried by more people makes the blockchain get more adoption.

According to a report by Stack Overflow, the top 3 most popular languages are: Javascript, Python, Java.

The top three most loved languages are: Rust, TypeScript, Python.

For new developers interested in blockchain, it will be a blessing to develop blockchain applications and smart contracts using popular programming languages like Python and Javascript.

Currently you'll be able to develop in Javascript on CKB, and the fast-growing and beloved Rust Lang (Rust in Blockchain) is also a development that CKB pushes. 

Sparklings 

  • Nervos Python SDK proposal from the development team at the University of Waterloo. We hope that by lowering the barrier to entry into the mainstream development world in this way, Nervos will quickly embrace the More traditional developers.

Media


Technical Updates

RFCs

Nervos applies the RFC (Request for Comments) process for implementing every building block of the protocol. There were 24 Previous RFCs that can be found here

If you are curious about why a design in CKB is what it is now, please post your questions in this repository.

Core

  • CKB

    • Released v0.33.1.

    • CKB v0.33.1 has been released to address the issue of GHSA-r9rv-9mh8-pxf4. We observed a surge of uncle rate on July 1st. It in turn increased the block interval. From a consensus algorithm’s perspective, a large block interval should lower the uncle rate. However, it did not work. The root cause was that a miner did not synchronize the local time, which was about 15 seconds ahead, and there was a bug in the code that would ban peers which relay the block more than 15 seconds in the future. Thus that miner was banned by most peers and could not catch up with the network’s latest block and continuously produced uncle blocks.

    • We received some complaints that the ckb node consumes too much memory. Xuejie met a similar issue when he tried to port ckb into ARM and ran ckb on his Raspberry Pi which only has 1G memory. So Boyu has started a series of work to confine the memory usage of CKB. He has already achieved some progress, such as not caching all headers in memory during header sync.

    • Chao had submitted a PR to schedule block download tasks between peers according to the history latency statistics. We are running more simulation tests to find better parameters.

    • Chao also finished the first version of Tentacle Go. Implementing the framework in another language taught Chao a lot and he started reflecting and refactoring the Rust version.

    • There are more and more requirements to use ckb as a library. So Quake had madevariousrefactoring to make ckb more friendly to be used this way.

    • We know that our RPC error messages are not ideal. Ian recently submittedthreePRs to improve the RPC error messages.

  • Dev Tools

    • Lumos [JavaScript/TypeScript based dapp framework] 

    • Polyjuice [an Ethereum on CKB solution] 

    • Capsule [development framework for creating smart contract scripts in Rust for CKB] 

  • Neuron

    • (#1771) Add custom pagination

  • CKB Explorer

    • Released v0.10.0

    • (#683) Set timeout config on ckb api

    • (#687) Use DB data replace RPC call on lock info

    • (#688) Add transaction index

Layer 2

  • Muta [layer2 framework on CKB] 

    • Released v0.2.6

    • (#349) Add chaos test pipeline

    • (#352) Add more cases of multi-signature service

    • (#353) Add semantic config

    • (#341) Release CHANGELOG v0.2.0-alpha.0

  • SECBIT Labs [Zero knowledge proof toolkit for CKB] 

    • (#11) Remove redundant constraints for range proofs

Ecosystem 

  • Lay2 [pw-sdk, build dApp on CKB and run them everywhere] 

    • Prepare for P-wallet CKB mainnet version launch

    • Update pw-core

  • Obsidian Labs[developer IDE] 

    • Applied for a new grant CKB Studio II, with this proposal, CKB Studio will support more platforms and provide developers with more user-friendly features.

  • Synapse [browser wallet and keyper agency] 

    • Synapse Extension v0.0.11 is released

    • Network management for CKB RPC and ckb-cache-layer

  • BlockABC [onchain CKB and web auth] 

  • GrowFi [token swap functionality] 

  • Obsidian Systems [CKB integration with ledger wallets] - github

  • Summa One [BTC/CKB interoperability] - github

  • LeapDAO[EVM-compatible sidechain framework for Nervos] - link

  • New Grants Proposal

The Nervos Foundation currently runs a grants program for builders. check out the scope and how to apply.


Learn about Nervos and Earn CKB, thanks to Mike for the apple.

CKB Weekly is curated by a group of people who witnessed Lina’s birth and started this to record her growth. Any views expressed are personal and do not represent an official position of the Nervos project. Got updates or articles you would like to include? Any feedback or other suggestions? Let us know by replying to the email.

If you are interested in contributing, welcome to join the review group on TG.