A customizable blockchain framework For CKB sidechain

Project and Justification
My project: https://github.com/yu-org/yu
Yu is a customizable blockchain framework. It is more customizable than tendermint, muta, substrate. Certainly MUCH easier than substrate for developers.
Nervos needs Layer2 ecology, but coders may not be accustomed to developing applications with Cell program model. Yu can help coders build their own application chain as a Layer2 sidechain on CKB.
With Yu, you can customize and develop your onchain services (just like service of muta) It means that you can build your own assets system, staking system, and so on.
More than this, you can customize your chain consensus algorithm(pow/poa/pos/dpos, maybe poX) You can also decide how to pack transactions from txpool, when to execute transactions, and so on. After that, you can run your blockchain.

It is written by golang. With Yu, developers will feel like writing web APIs. Companies that want to run a sidechain on CKB can reduce a lot of development costs and recruitment costs. Because the number of golang coders is more than Rust and the learning cost of golang is lower than Rust.

Team and Background
So far, I am the only one on the development team, I have designed and developed Yu for about 1 year. I have 5 years+ development experience, 3 years are on infra system, 2 years+ on the blockchain. In the past, I used substrate to develop some blockchain projects. Later I investigated and referred to the design of tendermint, muta, xuperchain. After that, I think blockchain coders need a framework to develop and startup at low-costly. So I built it.

Technical Specification and Implementation
Core components are basically completed but still a little rough, I need to optimize codes later.
The core components now contain:

  1. consensus (simple poa and pow)
  2. blockchain: chain logic
  3. txpool: transaction pool
  4. blockbase: use to persist transactions content, events, and errors contents.
  5. State: store state on-chain
  6. tripods: custom module for developers, they can implement functions and interfaces of tripods.
    Actually, consensus algorithms also belong to this module.
    More details on this: https://github.com/yu-org/yu/blob/master/README.md (some of it are expired)

Roadmap
Milestone 1: Mar. 2022

  1. Complete unit tests of core components
  2. Give a stable poa chain demo:
    1. Deploy a stable running poa blockchain.
    2. Assets Module: create account and transfer.
    3. Client can send a txn onto chain successfully.
    4. Complete README, give a quick-start and basic docs.

Milestone 2: May. 2022 (I am not sure)

  1. Access CKB layer1, run as a L2 sidechain.
  2. Complete docs.

Milestone 3: Jul. 2022

  1. Develop Hotstuff and integrate VRF.
  2. go-sdk

Milestone 4: Sep. 2022

  1. Develop pos/dpos consensus.
4 Likes

very interesting proposal Lawliet_Chan! it certainly is well-timed for the ecosystem.

Can you please send an email to [email protected] to discuss more?

1 Like

Yeah, I have sent email to you.