@atomicport/bitcoin
Version:
Support Cross-Chain-Swap with HTLC on any blockchains
70 lines (42 loc) • 2.14 kB
Markdown
<div align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/47295014/218366041-d07fdf06-1b72-4c6d-8fa2-89dc8266553d.png">
<source media="(prefers-color-scheme: light)" srcset="https://user-images.githubusercontent.com/47295014/218366194-eee5969d-3c4c-4445-9303-5368c66aac9a.png">
<img alt="logo" src="https://user-images.githubusercontent.com/47295014/218366194-eee5969d-3c4c-4445-9303-5368c66aac9a.png">
</picture>
</div>
[](
This package is for HTLC transactions between the any blockchains. HTLC allows direct transactions between different chains. Usage and examples are shown below.
<br>
Transactions on each chain in this library are currently available only on the testnet.
If you wish to use it in a production environment, please change the network and other parameters.
<br>
Install the necessary libraries
**npm**
```
npm install --save @mempool/mempool.js bip65 bitcoinjs-lib@6 ecpair tiny-secp256k1 varuint-bitcoin @atomic-port/bitcoin
```
**yarn**
```
yarn add @mempool/mempool.js bip65 bitcoinjs-lib@6 ecpair tiny-secp256k1 varuint-bitcoin @atomic-port/bitcoin
```
HTLC issues a secret and key in advance and uses this to issue a secret lock.
When both parties agree to the transaction, the secret and key are exchanged separately, and the key is used to receive a token. This is how the cross-chain swap is performed.
<br>
You can publish using this package with the following operations.
The output hashPair contains a secret and a proof. The secret is shared in advance, and the proof is issued at a mutually agreed timing.
[](../../examples/bitcoin/src/lock.ts)
<br>
With a secret lock, locked assets are withdrawn through a secret proof transaction.
[](../../examples/bitcoin/src/withDraw.ts)
<br>
For more detailed examples, please check the sample collection below
[](examples/README.md)
<br>
- [about bitcoin](https://bitcoin.org/)