/bridge-coverage-01

The centralized bridge of ICON

Primary LanguageGo

Icon Bridge

codecov

Introduction

We need to build a usable centralized bridge for BTP Relay System which can deliver digital tokens between multiple chains.

Target chains

  • ICON (goloop)
  • Polkadot parachain
  • Binance Smart Chain
  • Harmony One

Terminologies

Word Description
BTP Blockchain Transmission Protocol, ICON BTP Standard defined by ICON.
BTP Message A verified message which is delivered by the relay
Service Message A payload in a BTP message
Relay Message A message including BTPMessages with proofs for that, and other block update messages.
NetworkAddress Network Type and Network ID
0x1.icon
0x1.icon
ContractAddress Addressing contract in the network
btp://0x1.icon/cx87ed9048b594b95199f326fc76e76a9d33dd665b

BTP Standard

Components

Blockchain specifics

BTP Project

Documents

Layout

Directory Description
/cmd Root of implement of BMR
/cmd/iconbridge Reference implement of BMR. only provide unidirectional relay. (golang)
/cmd/iconbridge/relay Implement of common logic of BMR, uses chain package
/cmd/iconbridge/chain BMR module interface, common code, and chain specific packages
/cmd/iconbridge/chain/<blockchain> Implement of BMR module (Sender,Receiver), <blockchain> is name of blockchain
/common Common code (golang)
/doc Documents
/docker Docker related resources
/<env> Root of implement of BTP smart contracts, <env> is name of smart contract execution environment
/<env>/bmc Implement of BMC smart contract
/<env>/lib Library for execution environment
/<env>/<svc> Root of implement of BSH smart contract, <svc> is name of BTP service
/<env>/token_bsh Reference implement of BSH smart contract for Interchain-Token transfer service
/<env>/token_bsh/sample/irc2_token Implement of IRC-2.0 smart contract, example for support legacy smart contract

BMR Modules

Directory Description
/cmd/iconbridge/module/icon BMR module for ICON blockchain
/cmd/iconbridge/module/hmny BMR module for Harmony blockchain