#lightning #smart-contracts #bitcoin #lnp-bp #rgb

bin+lib rgb-contracts

RGB: scalable & confidential smart contracts for Bitcoin & Lightning network

10 releases

0.10.2 Oct 17, 2023
0.10.1 Oct 14, 2023
0.10.0 Sep 6, 2023
0.10.0-rc.5 Aug 1, 2023
0.10.0-beta.1 Mar 28, 2023

#2269 in Magic Beans


Used in rgb-lib

Apache-2.0

145KB
2.5K SLoC

RGB smart contracts

Build Tests Lints codecov

crates.io Docs unsafe forbidden Apache-2 licensed

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.

Installing

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:

[dependencies]
rgb-contracts = "0.10"

Then all RGB library main components can be imported with use rgb::prelude::*.

Using command-line

Contributing

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.

License

See LICENCE file.

Dependencies

~27MB
~421K SLoC