bitcoinfees-21co
Version:
realtime bitcoinfees from 21.co
106 lines (79 loc) • 2.38 kB
Markdown
# node-bitcoinfees-21co
[](https://nodei.co/npm/bitcoinfees-21co)
[](https://travis-ci.org/you21979/node-bitcoinfees-21co)
[](https://coveralls.io/github/you21979/node-bitcoinfees-21co?branch=master)
bitcoinfees from 21.co
## API Document
* https://bitcoinfees.21.co/api
## limit
```
Current API Rate Limit: 5000 requests per hour.
```
* 5000 req/hour
* 83.3 req/min
* 1.3 req/sec
## install
```
npm i bitcoinfees-21co
```
## Usage
### recommended
```
var bitcoinfees = require('bitcoinfees-21co');
bitcoinfees.FeesApi.recommended().then(function(res){
console.log(res)
})
```
```
{ "fastestFee": 40, "halfHourFee": 20, "hourFee": 10 }
```
### list
```
var bitcoinfees = require('bitcoinfees-21co');
bitcoinfees.FeesApi.list().then(console.log)
```
```
{ "fees": [
{"minFee":0,"maxFee":0,"dayCount":545,"memCount":87,
"minDelay":4,"maxDelay":32,"minMinutes":20,"maxMinutes":420},
...
] }
```
## HTTP Error Handling
### simple error control
```
bitcoinfees.FeesApi.recommended().catch(function(e){
console.log(e.message)
})
```
### technical error control
```
var errors = require('bitcoinfees-21co/errors')
bitcoinfees.FeesApi.recommended()
.catch(errors.StatusCodeError, function (reason) {
// HTTP STATUS ERROR(404 or 500, 502, etc...)
console.log("HTTP StatusCodeError " + reason.statusCode, "HTTP", reason.statusCode)
})
.catch(errors.RequestError, function (reason) {
// REQUEST ERROR(SYSTEMCALL, TIMEOUT)
console.log(reason.message, "SYSCALL", reason.error.code)
})
.catch(function(e){
// OTHER ERROR
console.log(e.message)
})
```
## VALUE Error Handling
```
var bitcoinfees = require('bitcoinfees-21co');
var assert = require('assert');
var clamp = function(value, min, max){
return Math.min(Math.max(min, value), max)
}
bitcoinfees.FeesApi.recommended().then(function(res){
assert(res.hourFee > 0);
return clamp(res.hourFee, 20, 200) // The API obstacle leads to loss
})
```
## memo
It is better to store it in the database when using it on the server