It allows users to pay with Bitcoin to use Ethereum.
If you're a user, you should not need to use BTC Relay directly since it works behind the scenes.
If you're a developer, did you see How to use BTC Relay?
Developers who want a secure, fully decentralized and trustless method of verifying Bitcoin transactions for their Ethereum and smart contract applications.
BTC Relay is a building block for developers that want interoperability between Ethereum and Bitcoin. For example, developers who want to allow their users to pay with Bitcoin to use their Ethereum application.
Relayers are those who submit block headers to BTC Relay. To incentivize the community to be relayers, and thus allow BTC Relay to be autonomous and up-to-date with the Bitcoin blockchain, Relayers can submit block headers to BTC Relay. When any transaction is verified in the block, or the header is retrieved, Relayers will be rewarded a fee (see details at https://github.com/ethereum/btcrelay/tree/master#incentives-for-relayers).
Warning: as specified above, incentives are only sent when transactions are verified in the block or the header is retrieved, not when the block is submitted.
- Does your transaction have at least 6 Bitcoin confirmations?
- Did you pass the correct parameters to construct the Merkle proof correctly? Viewing the page source of some examples might help.
- Did you send at least the fee as indicated by getFeeAmount()?
If a fee for any block header is too high, anyone may changeFeeRecipient() to themselves.
They can compare the current fee against getChangeRecipientFee()
to see if the fee is excessive. Callers of changeFeeRecipient()
must make sure to satisfy all requirements
for successful completion.
BTC Relay is an Ethereum contract that stores Bitcoin block headers. BTC Relay uses these headers to build a mini-version of the Bitcoin blockchain: a method used by Bitcoin SPV light wallets.
Relayers who submit headers can earn Ether. When an application processes a Bitcoin payment, it uses a header to verify that the payment is legitimate. The relayer of the particular header earns a fee, usually specified when the relayer submitted the header.
The cycle of relayers submitting headers, then applications processing Bitcoin payments and rewarding a relayer with a micro-fee, can allow the system to be autonomous and self-sustaining.