Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/slaveofcode/btcid
Simple Node.js wrapper library for bitcoin.co.id API
https://github.com/slaveofcode/btcid
Last synced: about 8 hours ago
JSON representation
Simple Node.js wrapper library for bitcoin.co.id API
- Host: GitHub
- URL: https://github.com/slaveofcode/btcid
- Owner: slaveofcode
- License: mit
- Created: 2018-01-14T04:25:38.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2018-01-22T03:50:48.000Z (almost 7 years ago)
- Last Synced: 2024-11-16T06:32:41.378Z (4 days ago)
- Language: JavaScript
- Size: 22.5 KB
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# BTCId
This is a simple implementation on Node.js library to request data from [bitcoin.co.id](http://bitcoin.co.id). You are required to register as a member on bitcoin.co.id and get the **API Key** and **Secret Key** in order to use this library, especially the private API.
## REQUIREMENTS
* NodeJs ver. 8 or later
## INSTALLATION
npm i @slaveofcode/btcid --save
## HOW TO USE
const btcid = require('btcid)
const btcInst = btcid('myApiKey', 'mySecretKey')
// public api section
btcInst.bitCoin.trades().then(res => console.log(res))
btcInst.stellarLumen.trades().then(res => console.log(res))// private api section
btcInst.showInfo().then(res => console.log(res))## FUNCTION DOCS
This library follows API pattern and description on here [https://vip.bitcoin.co.id/downloads/BITCOINCOID-API-DOCUMENTATION.pdf](https://vip.bitcoin.co.id/downloads/BITCOINCOID-API-DOCUMENTATION.pdf) so if anything on documentation is updated, this library may obsolete and need upgrade to sync with the new version.
The documentation of available function divided into 2 section, **Public** and **Private** section. The public section is not required to supply **Api Key** and **Secret Key** because they just available to you without any restriction. On private section, **Api Key** and **Secret Key** is required because some of actions and response data are related with your account.
Please check your **Trade API permission** on bitcoin.co.id, if some of permission was not enabled, this library may not works because un-granted permission prevent some actions such as withdrawing your coin.
### public function
`trade`, `depth` and `ticker` functions are available on all public exchanges api such as `bitcoin` and `stellarLumen`, the code below is the example of how you fetch it.
// BTC/IDR
const btcid = require('btcid)
const btcInst = btcid('myApiKey', 'mySecretKey')// Get trades
btcInst.bitcoin
.trades()
.then(res => {
console.log(res)
// [{ date: '1515931908',
// price: '184499000',
// amount: '0.00124928',
// tid: '5580857',
// type: 'buy' }, ... ]
})// Get depth
btcInst.bitcoin
.depth()
.then(res => {
console.log(res)
// {
// "buy": [
// [
// 1381900,
// "0.38504088"
// ],
// [
// 1380200,
// "128.30297275"
// ], ...
})// Get ticker
btcInst.bitcoin
.ticker()
.then(res => {
console.log(res)
// ticker:
// { high: '213900000',
// low: '180018000',
// vol_btc: '905.70906859',
// vol_idr: '179723835524',
// last: '181598000',
// buy: '181598000',
// sell: '181599000',
// server_time: 1515934133 }, ... ]
})| Market | Function Name | Function Child |
| --------------- | ------------------ | --------------------------- |
| (IDR) BTC/IDR | bitcoinIdr | `ticker`, `trades`, `depth` |
| (IDR) BCH/IDR | bitCoinCashIdr | `ticker`, `trades`, `depth` |
| (IDR) BTG/IDR | bitCoinGoldIdr | `ticker`, `trades`, `depth` |
| (IDR) ETH/IDR | ethereumIdr | `ticker`, `trades`, `depth` |
| (IDR) ETC/IDR | ethereumClassicIdr | `ticker`, `trades`, `depth` |
| (IDR) IGNIS/IDR | ignisIdr | `ticker`, `trades`, `depth` |
| (IDR) LTC/IDR | liteCoinIdr | `ticker`, `trades`, `depth` |
| (IDR) NXT/IDR | nxtIdr | `ticker`, `trades`, `depth` |
| (IDR) WAVES/IDR | wavesIdr | `ticker`, `trades`, `depth` |
| (IDR) XRP/IDR | rippleIdr | `ticker`, `trades`, `depth` |
| (IDR) XZC/IDR | zCoinIdr | `ticker`, `trades`, `depth` |
| (IDR) XLM/IDR | stellarLumenIdr | `ticker`, `trades`, `depth` |
| (BTC) BTS/BTC | bitSharesBtc | `ticker`, `trades`, `depth` |
| (BTC) XLM/BTC | stellarLumenBtc | `ticker`, `trades`, `depth` |
| (BTC) DASH/BTC | dashBtc | `ticker`, `trades`, `depth` |
| (BTC) DOGE/BTC | dogeBtc | `ticker`, `trades`, `depth` |
| (BTC) ETH/BTC | ethereumBtc | `ticker`, `trades`, `depth` |
| (BTC) LTC/BTC | liteCoinBtc | `ticker`, `trades`, `depth` |
| (BTC) NXT/BTC | nxtBtc | `ticker`, `trades`, `depth` |
| (BTC) NEM/BTC | nemBtc | `ticker`, `trades`, `depth` |
| (BTC) XRP/BTC | rippleBtc | `ticker`, `trades`, `depth` |### private function
| Function Name | API Methods (API Docs) | Parameter | Example |
| ------------------ | ---------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| showInfo | getInfo | None | `btcInst.showInfo().then(res => console.log(res.data))` |
| transactionHistory | transHistory | None | `btcInst.transactionHistory().then(res => console.log(res.data))` |
| tradeHistory | tradeHistory | `pair name`, `start date`, `end date`, `config` | `btcInst.tradeHistory('str_btc', '2017-12-12', '2018-01-01', {count: 1000}).then(res => console.log(JSON.stringify(res.data)))` |
| showOpenOrders | openOrders | `pair name` or None (all pairs) | `btcInst.showOpenOrders().then(res => console.log(JSON.stringify(res.data)))` |
| showOrderHistory | orderHistory | `pair name` or None (all pairs) | `btcInst.showOrderHistory().then(res => console.log(JSON.stringify(res.data)))` |
| getOrder | getOrder | `pair name`, `order id` | `btcInst.getOrder('str_idr', 4630225).then(res => console.log(JSON.stringify(res.data)))` |
| cancelOrder | cancelOrder | `pair name`, `order id`, `type` (`buy` or `sell`) | `btcInst.cancelOrder('str_idr', 18, 'buy').then(res => console.log(JSON.stringify(res.data)))` |
| trade | trade | `pair name`, `type` (`buy` or `sell`), `price` | `btcInst.trade('str_idr', 'buy', 7200).then(res => console.log(JSON.stringify(res.data)))` |Moreover you could see the source of these function at `src/private_fn/index.js`. Go ahead and open an issue if you found a bug.
## LICENSE
MIT (yes you're free to use this)