node.cryptopia
Version:
Node Cryptopia API - asynchronous node.js library for the Cryptopia API
99 lines (73 loc) • 3.11 kB
Markdown
# Cryptopia
A (unofficial) Node.js API client for the [Cryptopia][cryptopia].
The client supports public (unauthenticated) calls to the [Cryptopia][cryptopia-api]. Private calls coming soon.
For private calls, the user secret is never exposed to other parts of the program or over the Web. The user key is sent as a header to the API, along with a signed request.
Repo home: [github.com/sigwo/node-cryptopia][repo]
## License
This Library was created by using parts of [Adrian Soluch (@n0mad01)](https://github.com/n0mad01/) [soluch.us](http://soluch.us) [node.bittrex.api] (https://github.com/n0mad01/node.bittrex.api/blob/master/node.bittrex.api.js) MIT, open source. See LICENSE file.
## Clone from GitHub
git clone https://github.com/sigwo/node-cryptopia.git
cd node-cryptopia
npm install
## Require as a module
In your app, require the module:
var Cryptopia = require('cryptopia');
If not installed via NPM, then provide the path to cryptopia.js
## Create an instance of the client
If only public API calls are needed, then no API key or secret is required:
var cryptopia = new Cryptopia();
## Make API calls
All [Cryptopia API][cryptopia-api] methods are supported (with some name changes to avoid naming collisions). All methods require a callback function.
```
cryptopia.getcurrencies(function(data) {
console.log(data);
});
```
Response:
```
{ Success: true,
Message: null,
Data:
[ { Id: 2, Name: 'Dotcoin', Symbol: 'DOT', Algorithm: 'Scrypt' },
{ Id: 3, Name: 'Litecoin', Symbol: 'LTC', Algorithm: 'Scrypt' },
{ Id: 4, Name: 'Dogecoin', Symbol: 'DOGE', Algorithm: 'Scrypt' },
{ Id: 6, Name: 'Potcoin', Symbol: 'POT', Algorithm: 'Scrypt' },
{ Id: 9, Name: 'PopularCoin', Symbol: 'POP', Algorithm: 'Scrypt' },
{ Id: 11, Name: 'Reddcoin', Symbol: 'RDD', Algorithm: 'Scrypt' },
...
Error: null }
streamed from https://www.cryptopia.co.nz/api/GetCurrencies in: 0.587s
```
```
cryptopia.getmarket('100', function(data) {
console.log(data);
});
```
Response:
```
{ Success: true,
Message: null,
Data:
{ TradePairId: 100,
Label: 'DOT/BTC',
AskPrice: 2.0000000000000004e-7,
BidPrice: 1.8000000000000002e-7,
Low: 1.7000000000000004e-7,
High: 2.0000000000000004e-7,
Volume: 2710673.8817330003,
LastPrice: 1.8000000000000002e-7,
LastVolume: 200,
BuyVolume: 89786389.71749353,
SellVolume: 33485774.14500672,
Change: 0 },
Error: null }
streamed from https://www.cryptopia.co.nz/api/GetMarket/100 in: 0.631s
```
The callback is passed in a data object, the response from the API
For the most up-to-date API documentation, see [cryptopia/api][cryptopia-api].
[repo]: https://github.com/sigwo/node-cryptopia
[cryptopia]: https://cryptopia.co.nz
[cryptopia-api]: https://www.cryptopia.co.nz/Forum/Thread/255
## Future Private API calls
To use Cryptopia's trading API, your API key and secret must be provided:
var cryptopia = new Cryptopia('API_KEY', 'API_SECRET');