Browse Source

coinmarketcap api

Mike 3 years ago
parent
commit
8b294b8550
1 changed files with 42 additions and 0 deletions
  1. 42 0
      api/main.py

+ 42 - 0
api/main.py

@@ -0,0 +1,42 @@
+from enum import Enum
+import time
+from datetime import datetime
+from typing import Optional
+from pydantic import BaseModel
+from fastapi import FastAPI, Query, UploadFile, File
+from fastapi import FastAPI
+from fastapi.middleware.cors import CORSMiddleware
+import json
+import urllib.request
+
+url = 'https://api.coinmarketcap.com/data-api/v3/nft/collections?start=0&limit=5'
+
+app = FastAPI()
+
+origins = [
+    "http://172.105.205.52",
+    "http://172.105.205.52:8001",
+]
+
+app.add_middleware(
+    CORSMiddleware,
+    # allow_origins=origins,
+    allow_origins=["*"],
+    allow_credentials=True,
+    allow_methods=["*"],
+    allow_headers=["*"],
+)
+
+@app.get("/showdata")
+async def showdata():
+    r = urllib.request.urlopen(url)
+    collections = json.loads(r.read())['data']['collections']
+    
+    reqs = []
+
+    for req in collections:
+        logo = 'https://s3.coinmarketcap.com/generated/nft/collections/' + req['slug'] + '.png';
+        last_7_days = 'https://s3.coinmarketcap.com/generated/sparklines/nft/collection/web/30d/' + req['slug'] +'.png';
+
+        reqs.append({'rank':req['rank'],'slug':req['slug'],'logo':logo,'website':req['website'],'name':req['name'],'assets':req['transferUniqueAssetsAT'],'collection_net_worth':req['netWorth'],'volume_7d':req['volume7d'],'sales_7d':req['sales7d'],'volume_all_time':req['volumeAT'],'sales_all_time':req['salesAT'],'last_7_days':last_7_days})
+    return reqs