Python模块从分散的chainlink社区资源中获取价格和其他数据

chainlink-feeds的Python项目详细描述


chainlink_源

PyPI versionAverage time to resolve an issuePercentage of issues still openActions Status

一种从链接价格源中提取数据的方法,用于分析、算法交易模型或其他。在

此回购使用RPC\u URL或Chainlink Subgraph

快速启动

安装:

pip install chainlink_feeds

使用链环子图

如果不指定RPC_URL,则会自动使用Chainlink子图。在

^{pr2}$

结果:

[{'assetPair': 'ETH/USD', 'blockHash': '0x141ad3c7468f4263d8b1b98a73f804b40ef1eb3a966bc2151646a08ba9872a58', 'blockNumber': '10887253', 'id': '0xf79d6afbb6da890132f9d7c355e3015f15f3406f/10887253/8', 'price': '38281000000', 'timestamp': '1600446952', 'transactionHash': '0x44e321f415e2ae236e3fbfb0df024825ff95331dca89dd25401303f0433fdb9d'}]
You can also pass:
cf.get_historical_price()
cf.get_price_feeds()
cf.get_prices()
cf.get_hourly_candle()
cf.get_daily_candle()
cf.get_weekly_candle()

这将获得子图可以返回的所有数据。如果您想获得pandas,只需更改对象的输出格式即可。在

cf = ChainlinkFeeds(output_format = 'pandas')
data = cf.get_daily_candle(pair='eth/usd')
data['closePrice'] = data['closePrice'].astype(float)
data.index = pd.to_datetime(data.index, unit='s')
data['closePrice'].plot()

导致:

              assetPair averagePrice   closePrice    highPrice     lowPrice  medianPrice    openPrice
openTimestamp
1600387200      ETH/USD  38615230654  38281000000  39190413319  38110269640  38933749501  38933749501
1600300800      ETH/USD  37891000000  39020000000  39344406296  36503000000  36503000000  36503000000
1600214400      ETH/USD  36564000000  36555000000  37276742411  35743000000  36428000000  36428000000
1600128000      ETH/USD  36983000000  36385393883  38069814258  36319641931  37744000000  37744000000
1600041600      ETH/USD  36914207489  37675318623  38270000000  35817000000  36634540717  36634540717
...                 ...          ...          ...          ...          ...          ...          ...
1586649600      ETH/USD  16022887240  15994875000  16467921975  15597479550  15864014512  15864014512
1586563200      ETH/USD  15838000000  15738831997  16108625000  15543870740  15813418305  15813418305
1586476800      ETH/USD  15868349654  15729441133  16995863008  15328500000  16994301012  16994301012
1586390400      ETH/USD  16990152130  17075750000  17151190079  16863999644  16943041228  16943041228
1586304000      ETH/USD  17277450182  17276241069  17277853301  17276241069  17277853301  17277853301

然后可以对其运行一些分析:

from chainlink_feeds.chainlink_feeds import ChainlinkFeeds
import matplotlib.pyplot as plt
import pandas as pd

cf = ChainlinkFeeds(output_format = 'pandas')
data = cf.get_daily_candle(pair='eth/usd')
data['closePrice'] = data['closePrice'].astype(float)
data.index = pd.to_datetime(data.index, unit='s')
data['closePrice'].plot()

结果是: Crypto Data Chart

也可以使用以下命令运行自己的GraphQL查询:

cf.graphql_query("{enter_query_here}")

您可以在Chainlink subgraph站点上查看一些方法。 Crypto Data Chart

使用RPC\u URL

否则,您可以指定一个RPC_URL并自己查询区块链。在

from chainlink_feeds.chainlink_feeds import ChainlinkFeeds

cf = ChainlinkFeeds(rpc_url = "https://www.infura.com/asdfasdfasdfas)

直接查询区块链。你需要知道他们的地址和ABI。作为参考,您可以检查此repo中的config文件夹。您还可以使用您自己的带有地址或abi的配置load_config。其中很多都是预先填充在这个repo中的,但是一定要检查你是否使用了过期的地址。在

print(cf.get_latest_round_data(network='KOVAN', pair='ETH_USD'))

导致:

{'round_id': 18446744073709562669, 'price': 382.66, 'started_at': '2020-09-18 13:30:12', 'time_stamp': '2020-09-18 13:30:12', 'answered_in_round': 18446744073709562669}

您可以直接从Chainlink Price Feeds Documentation使用这些方法。在

待办事项:

  • 添加更多查询支持
  • 制作本自述以外的文档
  • 添加更多测试
  • 找出如何返回1000多个结果

联系人:

{a13也一定要去看看!在

如果你喜欢的话,可以考虑在本次回购中出演主角:)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将cassandra中的行数据转换为与列相关的嵌套json   java如何使用jcr XPath在jcr:content/@jcr:data中搜索?   java在使用openCV进行安卓开发时如何利用手机的广角镜头   java解析扩展了接口,结束了一个潜在的无限循环   位置服务的@Override方法中存在java Android应用程序错误   java本地线程的用途和需求是什么   具有左右子访问的java节点树遍历   java验证JsonWebToken签名   JUL日志处理程序中的java日志记录   嵌入式Java读取给定时间段的串行数据。   java有没有办法从多个URL获取多个图像?   java线程通过等待intent阻止自己发送intent   java Spring MVC解析多部分内容请求   java JPA/Hibernate静态元模型属性未填充NullPointerException   java格式错误的字符(需要引号,得到I)~正在处理   java为什么PrintWriter对象抛出FileNotFoundException?   java Neo4j未正确保存标签   java IE不加载图像