Bitcoin SFOX Javascript Client

This is used by My-Wallet-V3.
Install
npm install bitcoin-sfox-client --save
Usage
Three things are needed:
delegate
object (see example) with functions that provide the following:
- save() -> e.g.
function () { return JSON.stringify(this._sfox);
} email()
-> String : the users email addressisEmailVerified()
-> Boolean : whether the users email is verifiedgetEmailToken()
-> stringify : JSON web token {email: 'me@example.com'}monitorAddress(address, callback)
: callback(amount)
if btc receivedcheckAddress(address)
: look for existing transaction at addressgetReceiveAddress(trade)
: return the trades receive addressreserveReceiveAddress()
commitReceiveAddress()
releaseReceiveAddress()
serializeExtraFields(obj, trade)
: e.g. obj.account_index = ...
deserializeExtraFields(obj, trade)
- SFOX API key
var object = {user: 1, offline_token: 'token'};
var sfox = new SFOX(object, delegate);
sfox.api.apiKey = ...;
sfox.delegate.save.bind(sfox.delegate)();
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-sfox-client
ln -s ../../bitcoin-sfox-client My-Wallet-V3/node_modules/bitcoin-sfox-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