Skip to content
dev
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Chain Abstraction Layer

Build Status Coverage Status Standard Code Style MIT License Gitter Telegram Greenkeeper badge

⚠️ This project is under heavy development. Expect bugs & breaking changes.

📝 Introductory Blog Post: The Missing Tool to Cross-Chain Development

Query different blockchains with account management using a single and simple interface.

Packages

Package Version
@liquality/bitcoin-bitcoinjs-lib-swap-provider ChainAbstractionLayer
@liquality/bitcoin-ledger-provider ChainAbstractionLayer
@liquality/bitcoin-networks ChainAbstractionLayer
@liquality/bitcoin-rpc-provider ChainAbstractionLayer
@liquality/bitcoin-wallet-node-provider ChainAbstractionLayer
@liquality/bitcoin-swap-provider ChainAbstractionLayer
@liquality/bitcoin-esplora-api-provider ChainAbstractionLayer
@liquality/bitcoin-esplora-swap-find-provider ChainAbstractionLayer
@liquality/bitcoin-utils ChainAbstractionLayer
@liquality/client ChainAbstractionLayer
@liquality/crypto ChainAbstractionLayer
@liquality/debug ChainAbstractionLayer
@liquality/errors ChainAbstractionLayer
@liquality/ethereum-erc20-provider ChainAbstractionLayer
@liquality/ethereum-erc20-swap-provider ChainAbstractionLayer
@liquality/ethereum-ledger-provider ChainAbstractionLayer
@liquality/ethereum-wallet-api-provider ChainAbstractionLayer
@liquality/ethereum-networks ChainAbstractionLayer
@liquality/ethereum-rpc-provider ChainAbstractionLayer
@liquality/ethereum-swap-provider ChainAbstractionLayer
@liquality/ethereum-scraper-swap-find-provider ChainAbstractionLayer
@liquality/ethereum-utils ChainAbstractionLayer
@liquality/jsonrpc-provider ChainAbstractionLayer
@liquality/ledger-provider ChainAbstractionLayer
@liquality/provider ChainAbstractionLayer
@liquality/schema ChainAbstractionLayer
@liquality/utils ChainAbstractionLayer
@liquality/wallet-provider ChainAbstractionLayer

Usage

import Client from '@liquality/client'
import BitcoinRpcProvider from '@liquality/bitcoin-rpc-provider'
import EthereumRpcProvider from '@liquality/ethereum-rpc-provider'

import BitcoinLedgerProvider from '@liquality/bitcoin-ledger-provider'
import EthereumLedgerProvider from '@liquality/ethereum-ledger-provider'

import BitcoinNetworks from '@liquality/bitcoin-networks'
import EthereumNetworks from '@liquality/ethereum-networks'

const bitcoin = new Client()
const ethereum = new Client()

bitcoin.addProvider(new BitcoinRpcProvider(
  'https://liquality.io/bitcointestnetrpc/', 'bitcoin', 'local321'
))
ethereum.addProvider(new EthereumRpcProvider(
  'https://rinkeby.infura.io/v3/xxx'
))

bitcoin.addProvider(new BitcoinLedgerProvider(
  { network: BitcoinNetworks.bitcoin_testnet }
))
ethereum.addProvider(new EthereumLedgerProvider(
  { network: EthereumNetworks.rinkeby }
))

// Fetch addresses from Ledger wallet using a single-unified API
const [ bitcoinAddress ] = await bitcoin.wallet.getAddresses(0, 1)
const [ ethereumAddress ] = await ethereum.wallet.getAddresses(0, 1)

// Sign a message
const signedMessageBitcoin = await bitcoin.wallet.signMessage(
  'The Times 3 January 2009 Chancellor on brink of second bailout for banks', bitcoinAddress
)
const signedMessageEthereum = await ethereum.wallet.signMessage(
  'The Times 3 January 2009 Chancellor on brink of second bailout for banks', ethereumAddress
)

// Send a transaction
await bitcoin.chain.sendTransaction(<to>, 1000)
await ethereum.chain.sendTransaction(<to>, 1000)

Development

npm install
npm run bootstrap
npm run watch

Production

npm run build

Publish

npm run new:version # prepare
npm run publish:all # publish

License

MIT

You can’t perform that action at this time.