0.2.30 • Published 5 years ago

@atomicloans/ethereum-rpc-wallet-provider v0.2.30

Weekly downloads
8
License
MIT
Repository
github
Last release
5 years ago

Chain Abstraction Layer

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

:warning: This project is under heavy development. Expect bugs & breaking changes.

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

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

Packages

PackageVersion
@liquality/bitcoin-bitcoinjs-lib-swap-providerChainAbstractionLayer
@liquality/bitcoin-ledger-providerChainAbstractionLayer
@liquality/bitcoin-networksChainAbstractionLayer
@liquality/bitcoin-rpc-providerChainAbstractionLayer
@liquality/bitcoin-wallet-node-providerChainAbstractionLayer
@liquality/bitcoin-swap-providerChainAbstractionLayer
@liquality/bitcoin-utilsChainAbstractionLayer
@liquality/bundleChainAbstractionLayer
@liquality/clientChainAbstractionLayer
@liquality/cryptoChainAbstractionLayer
@liquality/debugChainAbstractionLayer
@liquality/errorsChainAbstractionLayer
@liquality/ethereum-erc20-providerChainAbstractionLayer
@liquality/ethereum-erc20-swap-providerChainAbstractionLayer
@liquality/ethereum-ledger-providerChainAbstractionLayer
@liquality/ethereum-metamask-providerChainAbstractionLayer
@liquality/ethereum-networksChainAbstractionLayer
@liquality/ethereum-rpc-providerChainAbstractionLayer
@liquality/ethereum-swap-providerChainAbstractionLayer
@liquality/ethereum-utilsChainAbstractionLayer
@liquality/jsonrpc-providerChainAbstractionLayer
@liquality/ledger-providerChainAbstractionLayer
@liquality/metamask-providerChainAbstractionLayer
@liquality/providerChainAbstractionLayer
@liquality/schemaChainAbstractionLayer
@liquality/utilsChainAbstractionLayer
@liquality/wallet-providerChainAbstractionLayer

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