@runcitadel/bitcoin-rpc
TypeScript icon, indicating that this package has built-in type declarations

0.0.4 • Public • Published

Bitcoin simple RPC

This library is a very simple wrapper for communicating with a bitcoind instance through the JSON-RPC.

Usage

const client = new Client({
  baseURL: 'http://localhost:18443/',
  auth: { username: 'user', password: 'pass' },
})
const address = await client.getNewAddress()

Usage with Tor

The library can easily be used to communicate with a bitcoind node over Tor using a socks5 proxy. For example with sock-proxy-agent:

const proxyOptions = 'socks5h://127.0.0.1:9050'
const httpsAgent = new SocksProxyAgent(proxyOptions)
const config : ClientOption = {
  baseURL: 'http://onionaddress.onion:port',
  auth: {
    username: 'user',
    password: 'password',
  },
  httpAgent: httpsAgent,
}
const client = new Client(config)

Error handling

The client throws four types of errors.

BitcoinRpcError

This indicates that an error was returned by the bitcoind instance. The list of error code is available in the RPCErrorCode enum.

ConnectionError

This usually indicates that a connection to the specified address could not be established.

AuthError

This indicates that the credential provided were not valid.

UnknownError

This indicates that something unexpected happened.

Dependents (0)

Package Sidebar

Install

npm i @runcitadel/bitcoin-rpc

Weekly Downloads

0

Version

0.0.4

License

MIT

Unpacked Size

47.8 kB

Total Files

10

Last publish

Collaborators

  • pwltr
  • aarondewes