1.13.13 • Published 2 years ago

@hashprotocol/client v1.13.13

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

@hashprotocol/client

Build Status Coverage Status Standard Code Style MIT License @hashprotocol/client 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.

Installation

npm i @hashprotocol/client

or

<script src="https://cdn.jsdelivr.net/npm/@hashprotocol/client@0.2.3/dist/client.min.js"></script>
<!-- sourceMap at https://cdn.jsdelivr.net/npm/@hashprotocol/client@0.2.3/dist/client.min.js.map -->
<!-- available as window.Client -->

Usage

import { Client } from '@hashprotocol/client'
import { BitcoinRpcProvider } from '@hashprotocol/bitcoin-rpc-provider'
import { EthereumRpcProvider } from '@hashprotocol/ethereum-rpc-provider'

import { BitcoinLedgerProvider } from '@hashprotocol/bitcoin-ledger-provider'
import { EthereumLedgerProvider } from '@hashprotocol/ethereum-ledger-provider'

import { BitcoinNetworks } from '@hashprotocol/bitcoin-networks'
import { EthereumNetworks } from '@hashprotocol/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.address
)
const signedMessageEthereum = await ethereum.wallet.signMessage(
  'The Times 3 January 2009 Chancellor on brink of second bailout for banks', ethereumAddress.address
)

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

License

MIT