chainbridge-celo

command module
v0.0.0-...-1b15b10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 11, 2022 License: LGPL-3.0 Imports: 15 Imported by: 0

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.

Documentation

Overview

Copyright 2020 ChainSafe Systems SPDX-License-Identifier: LGPL-3.0-only

Directories

Path Synopsis
bindings
client/mock
Package mock_client is a generated GoMock package.
Package mock_client is a generated GoMock package.
listener/mock
Package mock_listener is a generated GoMock package.
Package mock_listener is a generated GoMock package.
mock
Package mock_chain is a generated GoMock package.
Package mock_chain is a generated GoMock package.
writer/mock
Package mock_writer is a generated GoMock package.
Package mock_writer is a generated GoMock package.
cmd
cfg
mock
Package mock_validatorsync is a generated GoMock package.
Package mock_validatorsync is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL