bitcoin-peg
Cosmos Bitcoin peg zone module for Lotion and coins
This module is currently under active development but works as a fully-functional prototype on top of Bitcoin testnet.
This module implements a simplified version of the "Proof-of-Stake Bitcoin Sidechains" design. It works by holding Bitcoin in a special script which is a multisig spendable by consensus of the validators of a Tendermint blockchain.
This module can be dropped in to any Lotion app to enable the chain to hold reserves of Bitcoin, accept deposits, or pay out withdrawals in a low-trust manner. In addition, it lets the chain timestamp itself on the Bitcoin blockchain, increasing security of the chain by utilizing Bitcoin's proof-of-work.
Usage
npm install bitcoin-peg
let app = lotion()
app.use('pbtc', coins({
handlers: {
bitcoin: bitcoin.coinsHandler('bitcoin')
}
}))
let checkpoint = {
version: 1073733632,
prevHash: Buffer.from('0000000000000113d4262419a8aa3a4fe928c0ea81893a2d2ffee5258b2085d8', 'hex').reverse(),
merkleRoot: Buffer.from('baa3bb3f4fb663bf6974831ff3d2c37479f471f1558447dfae92f146539f7d9f', 'hex').reverse(),
timestamp: 1544602833,
bits: 0x1a015269,
nonce: 3714016562,
height: 1447488
}
app.use('bitcoin', bitcoin(checkpoint, 'pbtc'))
app.start()
.then((res) => console.log(res))