This package is for HTLC transactions between the any blockchains. HTLC allows direct transactions between different chains. Usage and examples are shown below.
This script was created and released for research and experimentation and is not intended to encourage actual use. Trading of crypto assets may require licenses, applications, or approvals in some countries. Please consider using them at your own risk.
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.
- Endpoint: https://sepolia.infura.io/v3/85eb73cb20fc46058b5044657ed33efd
- Contract address: 0x549DEC2d00C3db272F337Ac4874503Ecf5205955
- Endpoint: https://sepolia.infura.io/v3/85eb73cb20fc46058b5044657ed33efd
- Contract address: 0xbD674927a77f4Ca6f01Ac470A33747E060C3Ccd0
- Endpoint: https://sepolia.infura.io/v3/85eb73cb20fc46058b5044657ed33efd
- Contract address: 0x4Bf07078493464447732B2a23126697b1C85DF9F
- Endpoint: https://rpc.ankr.com/eth_rinkeby
- Contract address: 0x97ED40C207bf3B6dE4DB27E37E1989f3756E71f4
- Endpoint: https://rpc.ankr.com/eth_rinkeby
- Contract address: 0x5F30A927063AA056Ee8BA93Be1175f7485c89Cac
- Endpoint: https://rpc.ankr.com/eth_rinkeby
- Contract address: 0x3b1B7AB12c115148B4bbe14E8327Da6c1DfD70cd
- Endpoint: https://rpc-mumbai.maticvigil.com
- Contract address: 0x6003028E5C3FB11c5F002902dDa1E18cF6a5D34B
- Endpoint: https://rpc-mumbai.maticvigil.com
- Contract address: 0xa66ffa7b45d9138e6A93bBa1f29a580bd559E5cC
- Endpoint: https://rpc-mumbai.maticvigil.com
- Contract address: 0x6003028E5C3FB11c5F002902dDa1E18cF6a5D34B
Install the necessary libraries
npm
npm install --save web3 @atomic-port/evm
yarn
yarn add web3 @atomic-port/evm
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.
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.
native/lock.ts
erc20/lock.ts
erc721/lock.ts
erc20JPYC/lock.ts
erc20Polygon/lock.ts
With a secret lock, locked assets are withdrawn through a secret proof transaction.
native/withDraw.ts
erc20/withDraw.ts
erc721/withDraw.ts
erc20JPYC/withDraw.ts
erc20Polygon/lock.ts
For more detailed examples, please check the sample collection below examples