RGB is confidential & scalable client-validated smart contracts for Bitcoin & Lightning. It embraces the concepts of private & mutual ownership, abstraction and separation of concerns and represents "post-blockchain", Turing-complete form of trustless distributed computing which does not require introduction of "tokens". To learn more about RGB please check RGB black paper and [RGB Tech] websites.
This repository provides client-facing library which can be used by desktop
apps and mobile wallets for integrating RGB support. It also provides binary
rgb
which runs in the command-line and exposes all RGB functionality locally,
requiring only Electrum server.
The development of the project is supported and managed by LNP/BP Standards Association. The design of RGB smart contract system and implementation of this and underlying consensus libraries was done in 2019-2023 by Dr Maxim Orlovsky basing or earlier ideas of client-side-validation and RGB as "assets for bitcoin and LN" by Peter Todd and Giacomo Zucco.
First, you need to install cargo. Minimum supported rust compiler version (MSRV): 1.66, rust 2021 edition.
Next, you need to install developer components, which are OS-specific:
Linux
sudo apt update
sudo apt install -y build-essential cmake pkg-config
MacOS
brew install cmake pkg-config
Windows: download and install the latest Build Tools for Visual Studio, including the 'Desktop development with C++' workflow and recommended optional features
Finally, install RGB command-line utility shipped with this repo by running
cargo install rgb-contracts --all-features
To use the library from other rust code add dependency to the Cargo.toml
file:
toml
[dependencies]
rgb-contracts = "0.10"
Then all RGB library main components can be imported with use rgb::prelude::*
.
Altcoins and "blockchains" other than Bitcoin blockchain/Bitcoin protocols are not supported and not planned to be supported; pull requests targeting them will be declined.
See LICENCE file.