Bitcoin Coinify Javascript Client Build Status Coverage Status

This is used by My-Wallet-V3.

Install

npm install bitcoin-coinify-client --save

Usage

Three things are needed:

  1. delegate object (see example) with functions that provide the following:
  • save() -> e.g. function () { return JSON.stringify(this._coinify); }
  • email() -> String : the users email address
  • isEmailVerified() -> Boolean : whether the users email is verified
  • getToken() -> stringify : JSON web token {email: 'me@example.com'}
  • monitorAddress(address, callback) : callback(amount) if btc received
  • checkAddress(address) : look for existing transaction at address
  • getReceiveAddress(trade) : return the trades receive address
  • reserveReceiveAddress()
  • releaseReceiveAddress()
  • serializeExtraFields(obj, trade) : e.g. obj.account_index = ...
  • deserializeExtraFields(obj, trade)
  1. Coinify partner identifier
var object = {user: 1, offline_token: 'token'};
var coinify = new Coinify(object, delegate);
coinify.partnerId = ...;
coinify.delegate.save.bind(coinify.delegate)();
delegate.trades = coinify.trades
// "{"user":1,"offline_token":"token"}"

To see a demo switch to Node 7.2 or higher and run:

nvm use 7.2
node demo.js

Development

Modifying bitcoin-exchange-client

To use a local version of bitcoin-exchange-client, create a symlink:

cd ..
rm -rf bitcoin-coinify-client/node_modules/bitcoin-exchange-client
ln -s ../../bitcoin-exchange-client bitcoin-coinify-client/node_modules/bitcoin-exchange-client

Testing inside my-wallet-v3

To use a local version of this repo inside my-wallet-v3, create a symlink:

cd ..
rm -rf My-Wallet-V3/node_modules/bitcoin-coinify-client
ln -s ../../bitcoin-coinify-client My-Wallet-V3/node_modules/bitcoin-coinify-client

Note that Grunt won't detect these changes.

Release

Change version in package.json.

git commit -a -m "v0.1.0"
git push
git tag -s v0.1.0
git push --tags
make changelog

Add the relevant sections of Changelog.md to the tag on Github and mark it as pre-release.

npm publish