Skip to content

Communicate with bitcoind and other free shared nodes via JSON-RPC. customized from package `bitcoin`

License

Notifications You must be signed in to change notification settings

dip1059/bitcoin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bitcoin

bitcoin is a simple wrapper for the Bitcoin client's JSON-RPC API. It enables to use both free shared node apikey based rpc url and user:pass based node url. It is customized from
node-bitcoin: https://github.com/jb55/node-bitcoin.

The API is equivalent to the API document here. The methods are exposed as lower camelcase methods on the bitcoin.Client object, or you may call the API directly using the cmd method.

Install

npm install @dip1059/bitcoin

or

yarn add @dip1059/bitcoin

Examples

Create client

// all config options are optional.
var client = new bitcoin.Client({
  host: 'localhost',
  port: 8332,
  user: 'username',
  pass: 'password',
  wallet: 'walletname',
  timeout: 30000
});

Get balance across all accounts with minimum confirmations of 6

async getBalance() {
  const balance= await client.getBalance('*', 6);
  console.log(balance);
}
getBalance();

Getting the balance directly using cmd

async getBalance() {
  const balance= await client.cmd('getbalance', '*', 6);
  console.log(balance);
}
getBalance();

SSL

See Enabling SSL on original client.

If you're using this to connect to bitcoind across a network it is highly recommended to enable ssl, otherwise an attacker may intercept your RPC credentials resulting in theft of your bitcoins.

When enabling ssl by setting the configuration option to true, the sslStrict option (verifies the server certificate) will also be enabled by default. It is highly recommended to specify the sslCa as well, even if your bitcoind has a certificate signed by an actual CA, to ensure you are connecting to your own bitcoind.

var client = new bitcoin.Client({
  host: 'localhost',
  port: 8332,
  user: 'username',
  pass: 'password',
  ssl: true,
  sslStrict: true,
  sslCa: fs.readFileSync(__dirname + '/myca.cert')
});

About

Communicate with bitcoind and other free shared nodes via JSON-RPC. customized from package `bitcoin`

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published