Skip to content

AtomicLoans/chainabstractionlayer

 
 

Repository files navigation

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.

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

Packages

Package Version
@liquality/bitcoin-bitcoinjs-lib-swap-provider ChainAbstractionLayer
@liquality/bitcoin-bitcore-rpc-provider ChainAbstractionLayer
@liquality/bitcoin-collateral-provider ChainAbstractionLayer
@liquality/bitcoin-ledger-provider ChainAbstractionLayer
@liquality/bitcoin-networks ChainAbstractionLayer
@liquality/bitcoin-rpc-provider ChainAbstractionLayer
@liquality/bitcoin-swap-provider ChainAbstractionLayer
@liquality/bitcoin-utils ChainAbstractionLayer
@liquality/bundle 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-metamask-provider ChainAbstractionLayer
@liquality/ethereum-networks ChainAbstractionLayer
@liquality/ethereum-rpc-provider ChainAbstractionLayer
@liquality/ethereum-swap-provider ChainAbstractionLayer
@liquality/ethereum-utils ChainAbstractionLayer
@liquality/jsonrpc-provider ChainAbstractionLayer
@liquality/ledger-provider ChainAbstractionLayer
@liquality/metamask-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

License

MIT

About

Blockchain abstraction layer

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%