Install Node.js by your favorite method, or use Node Version Manager by following directions at https://github.com/creationix/nvm
nvm install v4To develop bitcore-node-zcoin:
cd ~
git clone git@github.com:<yourusername>/bitcore-node-zcoin.git
git clone git@github.com:<yourusername>/bitcore-lib.gitTo develop bitcoin or to compile from source:
git clone git@github.com:<yourusername>/bitcoin.git
git fetch origin <branchname>:<branchname>
git checkout <branchname>Note: See bitcoin documentation for building bitcoin on your platform.
For Ubuntu:
sudo apt-get install libzmq3-dev
sudo apt-get install build-essentialNote: Make sure that libzmq-dev is not installed, it should be removed when installing libzmq3-dev.
For Mac OS X:
brew install zeromqcd bitcore-lib
npm install
cd ../bitcore-node-zcoin
npm installNote: If you get a message about not being able to download bitcoin distribution, you'll need to compile bitcoind from source, and setup your configuration to use that version.
We now will setup symlinks in bitcore-node-zcoin (repeat this for any other modules you're planning on developing):
cd node_modules
rm -rf bitcore-lib
ln -s ~/bitcore-lib
rm -rf bitcoind-rpc-zcoin
ln -s ~/bitcoind-rpc-zcoinAnd if you're compiling or developing bitcoin:
cd ../bin
ln -sf ~/bitcoin/src/bitcoindIf you do not already have mocha installed:
npm install mocha -gTo run all test suites:
cd bitcore-node-zcoin
npm run regtest
npm run testTo run a specific unit test in watch mode:
mocha -w -R spec test/services/bitcoind.unit.jsTo run a specific regtest:
mocha -R spec regtest/bitcoind.jsTo test running the node, you can setup a configuration that will specify development versions of all of the services:
cd ~
mkdir devnode
cd devnode
mkdir node_modules
touch bitcore-node-zcoin.json
touch package.jsonEdit bitcore-node-zcoin.json with something similar to:
{
"network": "livenet",
"port": 3001,
"services": [
"bitcoind",
"web",
"insight-api",
"insight-ui",
"<additional_service>"
],
"servicesConfig": {
"bitcoind": {
"spawn": {
"datadir": "/home/<youruser>/.bitcoin",
"exec": "/home/<youruser>/bitcoin/src/bitcoind"
}
}
}
}Note: To install services insight-api and insight-ui you'll need to clone the repositories locally.
Setup symlinks for all of the services and dependencies:
cd node_modules
ln -s ~/bitcore-lib
ln -s ~/bitcore-node-zcoin
ln -s ~/insight-api
ln -s ~/insight-uiMake sure that the <datadir>/bitcoin.conf has the necessary settings, for example:
server=1
whitelist=127.0.0.1
txindex=1
addressindex=1
timestampindex=1
spentindex=1
zmqpubrawtx=tcp://127.0.0.1:28332
zmqpubhashblock=tcp://127.0.0.1:28332
rpcallowip=127.0.0.1
rpcuser=bitcoin
rpcpassword=local321
From within the devnode directory with the configuration file, start the node:
../bitcore-node-zcoin/bin/bitcore-node-zcoin start