This is a reference relay
implementation for BTP 2.0 protocol.
- ICON (BTP Block)
- Hardhat (EVM-compatible chain)
Word | Description |
---|---|
BTP | Blockchain Transmission Protocol, see ICON BTP Standard. |
BTP Message | A verified message which is delivered by the relay |
Service Message | A payload in a BTP Message |
Relay Message | A message including BTP Messages with proofs for that, and other block update messages. |
Network Address | A string to identify blockchain network ex) 0x1.icon |
BTP Address | A string of URL for locating an account of the blockchain network ex) btp://0x1.icon/cx87ed9048b594b95199f326fc76e76a9d33dd665b |
-
BTP Message Center (BMC) - smart contract
- Receive BTP messages through transactions.
- Send BTP messages through events.
-
BTP Message Verifier (BMV) - smart contract
- Update blockchain verification information
- Verify delivered BTP message and decode it
-
BTP Service Handler (BSH) - smart contract
- Handle service messages related to the service.
- Send service messages through the BMC
-
BTP Message Relay (BMR) - external software (implemented by this repository)
- Monitor BTP events
- Gather proofs for the events
- Send BTP Relay Message
git clone https://github.com/icon-project/btp2.git --recurse-submodules
cd btp2
make relay
- Follow the instruction in End-to-End Testing Demo folder.