Warning
This repository is still in the proof-of-concept stage.
This repository contains the scripts and toolchains for the Nostr binding protocol on CKB. Any Nostr event with a special tag can be binding on a corresponding unique Cell on the CKB blockchain, making the Nostr event ownable and a digital asset.
We also build a very simple POC demo of the Nostr binding protocol in the /packages/demo directory. Check out the README.md to see how to run it.
│── contracts # scripts source code
│ ├── ckb-nostr-utils
│ ├── nostr-binding
│ └── nostr-lock
├── deployment # script deploy info
│ ├── mainnet
│ └── testnet
│── packages
│ ├── book-app # a simple workshop app
│ ├── demo # a simple demo using sdk
│ └── sdk # javascript sdk for nostr-binding protocolA short presentation for the Bitcoin hackathon to explain the idea of the Nostr binding protocol
Light paper to describe the Nostr binding protocol
Spec for implementation
Just start the dApp:
cd packages/demo
pnpm i && NETWORK=testnet pnpm run dev Or visit: nostr-binding.vercel.app
offckb nodeRequired offckb version >= 0.3.0-rc1
The following dependencies are required for building the Scripts:
git,make,sed,bash,sha256sumand others Unix utilities. Refer to the documentation for your operating systems for how to install them. Chances are your system might already have them.Rust: Rust 1.75 installed via rustup should work. Make sure you haveriscv64target installed via:rustup target add riscv64imac-unknown-none-elfClang: make sure you have clang 16+(18 is recommended) installed, sample installation steps for selected platforms are:- Debian / Ubuntu:
wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && sudo ./llvm.sh 18 && rm llvm.sh - Fedora 39+:
sudo dnf -y install clang - Archlinux:
sudo pacman --noconfirm -Syu clang - macOS:
brew install llvm@18 - Windows(with [Scoop](scoop install llvm yasm)):
scoop install llvm yasm
- Debian / Ubuntu:
Run the following commands to build the Scripts:
make buildThe script binaries are located in build/release
cd build/release && ls -hl && cd ../..
> total 704
> -rwxr-xr-x 1 staff 170K Jun 28 11:32 nostr-binding
> -rwxr-xr-x 1 staff 176K Jun 28 11:32 nostr-lockReproducible build via docker:
bash scripts/reproducible_build_dockerDeploy reproducible binaries on testnet and mainnet.
cd packages/demo
offckb deploy --network devnetThe deployed script info is auto-updated in the offckb.config.ts file in the app so you can use it directly.
cd packages/demo
pnpm i && NETWORK=devnet pnpm run dev offckb deposit --network devnet <Your-nostr-account-corresponding-address> <AmountInShannon>This workspace was bootstrapped with ckb-script-templates.