Skip to content
This repository has been archived by the owner on Oct 2, 2023. It is now read-only.

runcitadel/bitcoin-rpc

Repository files navigation

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Languages