CoinMarketCap¶
Overview¶
Adapter for use on Google Cloud Platform or AWS Lambda. Upload Zip and use trigger URL as bridge endpoint.
This adapter will work for the CoinMarketCap.com API, both free and paid.
Installation¶
npm install
Create ZIP:¶
zip -r cl-cmc.zip .
Create a cloud function in GCP or Lambda, and set the handler function according to the platform you are using.
- GCP:
gcpservice - AWS:
handler
Note
Remember set the environment variable API_KEY to your CoinMarketCap API Key!
Test Cases (GCP/AWS test events)¶
Fail¶
Event:¶
{
"id": "278c97ffadb54a5bbb93cfec5f7b5503",
"data": {}
}
Result:¶
{
"jobRunID": "278c97ffadb54a5bbb93cfec5f7b5503",
"status": "errored",
"error": "Not a valid endpoint"
}
Pass¶
Event:¶
{
"id": "278c97ffadb54a5bbb93cfec5f7b5503",
"data": {
"endpoint": "cryptocurrency",
"path": "info",
"symbol": "BTC"
}
}
Result:¶
{
"jobRunID": "278c97ffadb54a5bbb93cfec5f7b5503",
"data": {
"status": {
"timestamp": "2018-09-05T08:19:35.467Z",
"error_code": 0,
"error_message": null,
"elapsed": 4,
"credit_count": 1
},
"data": {
"BTC": {
"urls": {
"website": [
"https://bitcoin.org/"
],
"twitter": [],
"reddit": [
"https://reddit.com/r/bitcoin"
],
"message_board": [
"https://bitcointalk.org"
],
"announcement": [],
"chat": [],
"explorer": [
"https://blockchain.info/",
"https://live.blockcypher.com/btc/",
"https://blockchair.com/bitcoin/blocks"
],
"source_code": [
"https://github.com/bitcoin/"
]
},
"logo": "https://s2.coinmarketcap.com/static/img/coins/64x64/1.png",
"id": 1,
"name": "Bitcoin",
"symbol": "BTC",
"slug": "bitcoin",
"date_added": "2013-04-28T00:00:00.000Z",
"tags": [
"mineable"
],
"category": "coin"
}
}
}
}
Event:¶
{
"id": "278c97ffadb54a5bbb93cfec5f7b5503",
"data": {
"endpoint": "cryptocurrency",
"path": "map"
}
}
Event:¶
{
"id": "278c97ffadb54a5bbb93cfec5f7b5503",
"data": {
"endpoint": "cryptocurrency",
"path": "latest",
"resource": "quotes",
"id": "1,2",
"convert": "GBP"
}
}
Event:¶
{
"id": "278c97ffadb54a5bbb93cfec5f7b5503",
"data": {
"endpoint": "global-metrics",
"path": "latest",
"resource": "quotes"
}
}