node-shadowcash
node-shadowcash is a simple wrapper for the Shadowcash client's JSON-RPC API.
Shadow
Shadow is a decentralized network built on the framework of Bitcoin. It provides free, uncensorable end-to-end encrypted messaging and also includes a more anonymous cryptocurrency named ShadowCash.
Install and run daemon
You MUST have the shadowcoind daemon running, else your NodeJS app will return a connection error. Please for the sake of security do this on the same machine that the code will be running on. You can start the shadowcash daemon with the following command.
Linux:
./shadowcoind -daemon
Windows:
shadowcoind.exe -daemon
A daemon is a process that runs in the background after you've started it.
You can download Shadow's graphical interface and daemon for Ubuntu here. We highly recommend building the daemon from source, this option works best for other linux flavours such as Debian. You can find detailed instructions here
For numerous security reasons you'll get an error when first running the shadowcoind daemon. The error will instruct you to create a shadowcoin.conf file in your corresponding directory:
OS | PATH |
---|---|
Windows | %appdata%\ShadowCoin |
OSX | ~/Library/Application Support/ShadowCoin/ |
Linux | ~/.shadowcoin/ |
Create the file shadowcoin.conf
, the linux command line instructions are:
cd ~/.shadowcoin/nano shadowcoin.conf
and insert the following, make sure to change USERNAME and PASSWORD to something secure:
server=1rpcuser=USERNAMErpcpassword=PASSWORD
Install for NodeJS
npm install shadowcash
API
The API is equivalent to the API document here.
The documentation on the website is not yet up to date (not all Bitcoin JSON RPC commands are valid), you're better off checking the actual client or in the file /lib/commands.js
.
The methods are exposed as lower camelcase methods on the shadowcash.Client
object, or you may call the API directly using the cmd
method.
Examples
Create client
// all config options are optionalvar client = host: 'localhost' port: 51736 user: 'username' pass: 'password' timeout: 30000;
Get all unread messages
Note: Does not work with GUI wallet, it automatically marks the message as read. Use in combination with shadowcoind.
client;
Get balance across all accounts with minimum confirmations of 6
client;
cmd
Getting the balance directly using client;
Batch multiple RPC calls into single HTTP request
var batch = ;for var i = 0; i < 10; ++i batch;client;