2.1 KiB
18.3: Accessing Bitcoind with NodeJS
NOTE: This is a draft in progress, so that I can get some feedback from early reviewers. It is not yet ready for learning.
Set Up Node.js
BCRPC is built on node.js. Thus, you'll first need to install the node.js
and npm
(node package manager) packages for your system.
If you're using a Ubuntu machine, you can run the following commands to get a new version of node.js
(as opposed to the horribly out-of-date version in the Ubuntu package system).
curl -sL https://deb.nodesource.com/setup_14.x | sudo bash -
sudo apt-get install -y nodejs
sudo npm install mocha -g
Test BCRPC
Clone the BCRPC package from GitHub and install its dependencies.
$ git clone https://github.com/dgarage/bcrpc.git
$ cd bcrpc
$ npm install
To test the BCRPC package, you must first set environmental variables for your rpcuser and rpcpassword. As noted in §12.1: Accessing Bitcoind with Curl, these come from ~/.bitcoin/bitcoin.conf
. You must also set the RPC port to 18332 which should be correct for the standard testnet setup described in these documents.
$ export BITCOIND_USER=bitcoinrpc
$ export BITCOIND_PASS=d8340efbcd34e312044c8431c59c792c
$ export BITCOIND_PORT=18332
WARNING: Obviously, you'd never put set your password in an environmental variable in a production environment. MAINNET VS TESTNET: The port would be 8332 for a mainnet setup.
You can now verify everything is working correctly:
$ npm test
> bcrpc@0.2.2 test /home/user1/bcrpc
> mocha tests.js
BitcoinD
✓ is running
bcrpc
✓ can get info
2 passing (36ms)
Congratulations, you now have a Bitcoin-ready RPC wrapper for Node.js working with your Bitcoin setup.
Set Up BCRPC
Leave the BCRPC directory and create a new Node.js project with BCRPC installed via npm.
$ cd ..
$ mkdir myproject
$ cd myproject
$ npm init
[continue with default options]
$ npm install bcrpc