Bitcoin Prism is a fork of Bitcoin Mirror. Bitcoin Prism is intended to run on a single block chain which can then be queried from other chains to check for the existence of a valid proof. If claims against the Bitcoin network is make in an optimistic fashion, it allows for very effecient scaling.
Bitcoin's block headers contain a merkle root of all transactions within. By verifying the block headers, we can use the merkle root to prove inclusion of a transaction in the Bitcoin network.
By examining the out scripts of the transactions, we can prove that a payment was made.
Install Forge. Then:
forge test -vvv
Ensure ETHERSCAN_API_KEY
is set. Then, run the following to deploy and verify.
cd packages/contracts
forge script -f $RPC_URL --private-key $PK -s 'run(bool)' --broadcast --verify DeployBtcPrism true
Run with false
for a deployment tracking the Bitcoin testnet rather than mainnet.