A consolidated library featuring numerous blockchains authentication techniques on CKB-VM. More details in auth.md. We also write a repository to demonstrate how to use this library: ckb-auth-example.
The CKB-VM in CKB has provided a multitude of advanced smart contract functionalities that are not typically found within other blockchain networks. CKB presents a seamless solution for implementing blockchain interoperability. Through the utilization of ckb-auth, a sophisticated smart contract library, users can effortlessly access CKB assets from alternate blockchain wallets, such as Ethereum or Bitcoin, without the use of a CKB wallet.
To illustrate, considering a scenario where Alice only possesses an Ethereum wallet, Bob can transmit assets, including CKB or NFT, to Alice. With the application of ckb-auth, Alice can effectively utilize and transfer these assets using her Ethereum wallet without requiring the creation of a CKB wallet throughout the process.
The following blockchains are supported:
git submodule update --init
make all-via-dockerFor more details, please check out CI script.
All test case commands are located in tests/Makefile.
make install_allcd tests && make all_testsBefore running test cases with spawn support, please install ckb-debugger for next hardfork:
cargo install --git https://github.com/nervosnetwork/ckb-standalone-debugger ckb-debuggerThen run:
cd tests/auth_spawn_rust && make all├── build
├── c
├── ckb-auth-rs
├── ckb-auth-types
├── deps
├── docs
├── tests
│ ├── Makefile
| ├── auth-c-lock
| ├── auth-rust-lock
│ ├── auth-c-tests
│ ├── auth-spawn-tests
│ └── bin
├─ tools
│ ├── ckb-auth-cli
│ ├── rippled
│ └── tron
└─ Makefile
| Directory | Description |
|---|---|
| build | Build output |
| c | ckb-auth code, written in C language |
| ckb-auth-rs | Rust interface of ckb-auth |
| ckb-auth-types | Public code referenced by contracts and test cases |
| deps | Dependencies of ckb-auth using C language |
| docs | Detailed introduction to each chain in ckb-auth |
| tests | All test cases |
| tools | ckb-auth-cli and end-to-end testing tools |