We will continuously update the development progress of CKB DevRel in this thread. Developers! Please share your ideas and participate in discussions here.
CKB DevRel is dedicated to enhancing the CKB development experience by providing more user-friendly tools for CKB developers.
Let’s make CKB great again.
将在本帖内持续更新CKB DevRel的开发进度,欢迎各位开发者朋友在本帖内提出需求,并进行讨论
CKB DevRel 将持续优化 CKB 开发体验,为 CKB 开发者提供更多易用的开发工具
Let’s make CKB Great Again.
CCC stands for Common Chain Connector. It is a wallet connector library designed to work with the CKB JS toolchain in the ecosystem.
It consists of a Core library for backend development and a Connector frontend library based on the Core, providing a unified development experience for both frontend and backend developers.
Features provided by the Core library for backend development include:
Unified abstract API for frontend and backend
API for interacting with CKB RPC using connected addresses
Read-only wallets for EVM, BTC, and CKB addresses
Encoding and decoding of CKB addresses
Powerful encoding/decoding and type conversion tools
Additional features provided by the CCC Connector include:
Multi-chain wallet connection components, including UniSat, OKX Wallet, JoyID, and Metamask
SSRI defines a standard for script behavior on-chain, abstracting behavior into a series of method constraints. Scripts meeting these constraints can be recognized as having specific behaviors. Off-chain, it defines standards for script execution, allowing scripts executed off-chain to obtain more information via specific syscalls to construct outputs.
Similar to ABI, SSRI achieves composability through off-chain generation and on-chain verification. Due to CKB-VM being a sandbox capable of executing any logic off-chain, SSRI is more flexible and offers stronger upgradeability than ABI.
For example:
- Upcoming BTC cross-chain assets and stablecoin assets on CKB will have unique minting and permission control logic. Once the behavior of UDT-type scripts is defined, their xUDT-like code can be seamlessly compatible.
- .bit domain names will use the DOB protocol upgrade on CKB, featuring unique minting and renewal logic. Once the behavior of DOB-type scripts is defined, their deployed code can be seamlessly compatible with other applications.
We need more discussions from community developers about SSRI. Feel free to leave comments on Nervos Talk, Twitter, TG group, and Discord.
DOB
Difference between Spore and DOB Protocol
Spore is a specific type of Cell/asset implementation, controlling Cell behavior.
The DOB protocol family describes an abstract way of interpreting Cell information, built on Spore.
What is the DOB Protocol Family
The common elements of the DOB protocol are DNA + Pattern + Decoder:
DNA contains the life information of DOB, including its birth time and space coordinates, each DOB having unique data.
Pattern describes how to interpret the DNA, giving meaning to the DOB’s DNA, such as name, age, etc.
Decoder is the interpreter for DNA and Pattern.
What is DOB0
A DOB protocol focused on handling text, specifying the configuration and interface format of Decoders on DOB, providing a general Decoder to reduce most application development work. However, applications can also customize their Decoders according to their requirements.
What is DOB1
A DOB protocol focused on handling images, allowing multiple image-containing Cells to be combined, for example, allowing a game character to wear equipment or hold weapons.
An extension of DOB0 for image narration.
Currently under development, more information will be disclosed later.
Why we designed the DOB Protocol Family
Spore’s design stores complete image information in each Cell, which is costly.
NFTs with only images lack composability. The DNA-based design of DOB offers great potential for future gameplay.
All information of DOB is stored on-chain, avoiding the security risks of storing server addresses on-chain.
CCC will introduce transaction skeleton and trasnaction sending features, gradually replacing Lumos and evolving into a JS SDK.
The CCC documentation is complete and available for developers to review. Here is the link: https://ccc-docs.vercel.app/
Reasons for developing CCC:
To leverage the advantages of CKB’s customizable cryptographic primitives, allowing developers to intuitively experience multi-chain compatibility where every blockchain wallet can become a CKB wallet.
To optimize the developer experience in connecting wallets, signing, and sending transactions.
To enhance the interaction experience between developers and the CKB chain.
Goals for CCC:
To fill the gap in the CKB ecosystem with a signature tool library, making it easier for dApps to interact with the CKB chain.
To relieve JS developers from worrying about the intricacies of signing.
To make it easier for users of wallets from other chains to use CKB applications.
SSRI
What is SSRI:
SSRI stands for Script-Sourced-Rich-Information.
SSRI defines a set of behavioral standards for scripts on the chain, abstracting behaviors into a series of method constraints. Scripts that meet these method constraints can be recognized as having specific behaviors. Off-chain, it defines a set of execution standards for scripts, where off-chain scripts can obtain more information through specific syscalls to construct outputs.
Similar to ABI, SSRI achieves composability through the interaction of off-chain generation and on-chain verification. Since CKB-VM is a sandbox that can execute arbitrary logic off-chain, SSRI is more flexible and has stronger upgradability.
Why we need SSRI:
The Nervos ecosystem lacks application layer protocols because CKB lacks an abstraction layer to describe on-chain behaviors. sUDT, xUDT, m-NFT, and Spore all describe specific types of assets that can only be executed according to predetermined logic. They are implementations rather than protocols. A specific implementation cannot meet everyone’s needs, leading to multiple implementations, which in turn means additional work for adapting to new implementations.
What SSRI provides to application developers:
It extends the capabilities of scripts, allowing them to execute off-chain and return results, enabling developers to embed arbitrary information/logic into scripts to describe their behavior and manage data for off-chain applications.
For example:
The upcoming BTC cross-chain assets and stablecoins on CKB will have unique minting and permission control logic. After defining the behavior of UDT-like scripts, their xUDT code can be seamlessly compatible.
The .bit domain names will use the DOB protocol for upgrades on CKB, with unique logic for minting and renewal. After defining the behavior of DOB-like scripts, their deployed code can also be seamlessly compatible with other applications.
Development progress of SSRI - In development
DOB
The primary composability protocol of DOB has been designed:
In the DOB protocol family, DOB/0 and DOB/1 respectively give DOB the ability to display text and images. However, DOB’s potential goes far beyond just displaying in various forms; the concept of “objects” in the digital world grants them the possibility of combination and interaction.
The basic development of DOB1 is complete. DOB1:
Is an extension of DOB0 in image narrative.
Focuses on handling images in the DOB protocol, allowing multiple cells containing images to be superimposed and combined, such as letting a game character wear equipment or wield weapons.
What developers can do with future DOB protocols:
Better develop blockchain games on CKB.
Achieve fully on-chain, composable digital objects.
Future Plan
Indexer
A data query API key will be available later.
CKB Infrastructure
For JS developers:
We will focus on improving the development experience of the CKB JS ecosystem, providing lightweight SDK tools to help developers quickly develop applications.
CCC will gradually offer more features, improving the development experience end-to-end.
For Rust developers:
We will provide a more engineering-friendly Rust SDK for script development in large projects, addressing the lack of SDKs in script development.
We will improve the user experience of CKB std and molecule, more details will be released soon.
Ecosystem
JoyDAO is integrating with CCC, so users can look forward to using various wallets to operate Nervos DAO.
The support for Nostr plugin wallet and JoyID wallet in CCC has been completed in version 0.0.6-alpha.0, and now the Nostr Lock on the testnet can be used. Additionally, lumos-patches have been updated to add support for assembling transactions involving Nostr Lock on the testnet in Lumos.
CCC has updated and optimized UX design.
DOB
DOB1 protocol is under development.
The composability protocol of DOB has been designed.
Spore SDK has released version 0.2.0, addressing the following issues:
Supports transfer functions for .bit accounts.
Built-in Spore contract deployment information for .bit version.
Supports dynamic lookup and updates of .bit version contracts.
The blog shares the principles of single-use seals, their implementation on CKB, and one of their most important application scenarios: controlling the issuance cap of assets.
The contract of Single Use Lock and Type Proxy Lock wil be deployed on the mainnet soon
Ecosystem
JoyID now supports reading and displaying images from IPFS addresses.
• The CCC Playground is now live! This interactive tool allows users to experiment with CCC and gain insights into how UTXO works. Try it out here: https://live.ckbccc.com/
NervDAO
• A new version of NervDAO with an enhanced user interface could been previewed. We invite you to explore it here: https://www.nervdao.com/