Categorygithub.com/ChainSafe/chainbridge-celo
repositorypackage
0.0.0-20220711173236-1b15b1049a27
Repository: https://github.com/chainsafe/chainbridge-celo.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# README

Achivation note

This library is no longer in use and maintenance. All further development related to chainbridge will happen in the chainbridge-core repo. More detailed information about chainbridge you can find in its readme or Discussions.

If you already running an old ChainBridge version please consider checking **chainbridge-migration scripts that allow migrating to a newer version of chainbridge.

chainbridge-celo

An alternative implementation of ChainBridge which supports bridging Celo chains. It includes additional proving mechanisms to provide initial security.

Developers

See developers.md.

ChainSafe Security Policy

Reporting a Security Bug

We take all security issues seriously, if you believe you have found a security issue within a ChainSafe project please notify us immediately. If an issue is confirmed, we will take all necessary precautions to ensure a statement and patch release is made in a timely manner.

Please email us a description of the flaw and any related information (e.g. reproduction steps, version) to security at chainsafe dot io.

Configuration

Note: TOML configs have been deprecated in favour of JSON

A chain configurations take this form:

{
    "name": "eth",                      // Human-readable name
    "type": "ethereum",                 // Chain type (eg. "ethereum" or "substrate")
    "id": "0",                          // Chain ID
    "endpoint": "ws://<host>:<port>",   // Node endpoint
    "from": "0xff93...",                // On-chain address of relayer
    "opts": {},                         // Chain-specific configuration options (see below)
}

See config.json.example for an example configuration.

Celo Options

Celo chains support the following additional options:

{
    "bridge": "0x12345...",          // Address of the bridge contract (required)
    "erc20Handler": "0x1234...",     // Address of erc20 handler (required)
    "erc721Handler": "0x1234...",    // Address of erc721 handler (required)
    "genericHandler": "0x1234...",   // Address of generic handler (required)
    "maxGasPrice": "0x1234",         // Gas price for transactions (default: 20000000000)
    "gasLimit": "0x1234",            // Gas limit for transactions (default: 6721975)
    "http": "true",                  // Whether the chain connection is ws or http (default: false)
    "startBlock": "1234",            // The block to start processing events from (default: 0)
    "blockConfirmations": "10",      // Number of blocks to wait before processing a block
    "epochSize": "12"                // Size of chain epoch. eg. The number of blocks after which to checkpoint and reset the pending votes
    "gasMultiplier": "1.25", 		 // Multiplies the gas price by the supplied value (default: 1)
}

Building

make build: Builds chainbridge in ./build.

or

make install: Uses go install to add chainbridge-celo to your GOBIN.

Docker

To build the Docker image locally run:

docker build -t chainsafe/chainbridge-celo .

To start ChainBridge:

docker run -v ./config.json:/config.json chainsafe/chainbridge-celo

CLI

ChainBridge CLI allows you to interact with the on-chain components of ChainBridge. Detailed CLI docs are here.