bitcoin-peg

1.6.3 • Public • Published

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()
 
// create a token using `coins` to be pegged to Bitcoin
app.use('pbtc', coins({
  handlers: {
    bitcoin: bitcoin.coinsHandler('bitcoin')
  }
}))
 
// pick a Bitcoin (or testnet) block header to use as the checkpoint
let checkpoint = {
  version: 1073733632,
  prevHash: Buffer.from('0000000000000113d4262419a8aa3a4fe928c0ea81893a2d2ffee5258b2085d8', 'hex').reverse(),
  merkleRoot: Buffer.from('baa3bb3f4fb663bf6974831ff3d2c37479f471f1558447dfae92f146539f7d9f', 'hex').reverse(),
  timestamp: 1544602833,
  bits: 0x1a015269,
  nonce: 3714016562,
  height: 1447488
}
 
// keep track of the Bitcoin blockchain, and specify the route of the pegged token
app.use('bitcoin', bitcoin(checkpoint, 'pbtc'))
 
app.start()
  .then((res) => console.log(res))

Dependents (3)

Package Sidebar

Install

npm i bitcoin-peg

Weekly Downloads

0

Version

1.6.3

License

MIT

Unpacked Size

39 kB

Total Files

11

Last publish

Collaborators

  • mappum