Skip to content

Utilities for Bitcoin and RGB++ asset integration

License

Notifications You must be signed in to change notification settings

imfaker/rgbpp-sdk

This branch is 510 commits behind utxostack/rgbpp-sdk:develop.

Repository files navigation

RGB++ SDK

This repository offers utilities for Bitcoin and RGB++ asset integration.

Packages in this repository

RGB++ Code Examples

Related CKB Scripts (Contracts)

RGB++ Asset Workflow Overview

  1. Creation of rgbpp_ckb_tx_virtual using @rgbpp-sdk/ckb

    1. BTC → BTC
    2. BTC → CKB
    3. CKB → BTC (isomorphic rgbpp_btc_tx is not required in this workflow)

Important

It's recommended to save the rgbpp_ckb_tx_virtual locally in case you need it in the future.

  1. Creation of rgbpp_btc_tx through @rgbpp-sdk/btc

    1. construct isomorphic rgbpp_btc_tx based on rgbpp_ckb_tx_virtual and rgbpp commitment
    2. sign and broadcast rgbpp_btc_tx to obtain rgbpp_btc_txid
  2. JoyID or dApp sends rgbpp_btc_txid and rgbpp_ckb_tx_virtual to RGB++ CKB transaction Queue (API Endpoint: /rgbpp/v1/transaction/ckb-tx)

  3. RGB++ CKB transaction Queue will process the following things:

    1. verify the received requests
    2. continuously fetch request from the queue through a cron job
    3. check whether the confirmations of req.rgbpp_btc_txid is sufficient
    4. generate the witnesses for RgbppLocks in the rgbpp_ckb_tx_virtual
    5. add a paymaster cell into rgbpp_ckb_tx_virtual.inputs if the CKB capacity is insufficient
      1. need to verify the existence of paymaster UTXO in the rgbpp_btc_tx
      2. sign the paymaster cell and the entire transaction if needed
    6. finalize the rgbpp_ckb_tx_virtual to a rgbpp_ckb_tx
    7. broadcast rgbpp_ckb_tx and mark the job as completed upon tx-confirmation

Notes

  • The RGB++ CKB transaction Queue is designed to streamline the transaction workflow. Developers have the option to implement its features by themselves without limitation.

License

ISC License

About

Utilities for Bitcoin and RGB++ asset integration

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 99.0%
  • Other 1.0%