链接币安余额和 coingecko 信息

问题描述

使用 node-binance-api 包和方法 balance 我得到一个地图,其中键是一个符号并评估我当前的余额。接下来,我想从 CoinGecko 获取一些信息。所以,首先我通过调用这个端点 https://www.coingecko.com/api/documentations/v3#/coins/get_coins_list获取硬币列表,它返回一个包含字段 idsymbolname 的对象数组。现在我尝试使用 symbol 过滤器查找 coingecko 硬币 ID。但是,有些硬币具有相同的符号(ada、acm 等...)

{
    "id" : "ac-milan-fan-token","symbol" : "acm","name" : "AC Milan Fan Token",}

{
    "id" : "actinium","name" : "Actinium",}

有什么办法可以区分它们吗?我的主要目标是为我拥有的所有交易所(binance、gate、Metamask .. 等)提供 1 个视图并显示正确的信息

解决方法

由于 symbol 不是您数据集中的唯一标识符,您需要为每种货币创建一个唯一 ID。然后您需要将数据(手动或自动)分配给当前 ID。

在您构建了唯一 ID 表以及每个交易所 ID 与货币 ID 的关系后,您可以只观察更改:删除不再有效的关系,添加新的有效关系,当然还有将新添加的货币分配给正确的 ID。

示例 - 您可能会得到这样的列表:

货币

ID 符号 姓名
1 比特币 比特币
2 ACM AC 米兰球迷代币
3 ACM

交流

ID 姓名
1 币安
2 Coingecko

兑换货币

ID 货币 身份证交换 注意
1 1 Binance 上的比特币
1 2 Coinecko 上的比特币
2 2 Coingecko 上的 AC 米兰球迷代币
3 1 币安上的Actinium
3 2 Coingecko 上的锕

您基本上需要做与 CoinMarketCap API 背后的团队正在做的非常相似的事情。

  • /v1/cryptocurrency/map (docs)

    每种货币都有一个 CMC 范围内的唯一 ID。因此,它们可以有多种货币具有相同的符号,但它们通过 ID 进行区分。

  • /v1/cryptocurrency/market-pairs/latest (docs)

    它们在货币与兑换关系之间有一个步骤,您打算以“市场对 ID”的形式创建该关系。示例:“BTC/USD”对在所有交易所中始终具有 CMC 范围的 ID 1。

  • /v1/exchange/market-pairs/latest (docs)

    最后,每个交易所都与市场对 ID 相关联。因此,如果交易所 ID 123 和交易所 ID 456 都有“BTC/USD”对,则它们都与对 ID 1 有关系。


这不是一件容易的事情,它需要一些资源:手动标记,以及验证、微调和维护您的算法(因为输入数据结构不断变化)以自动保存来自所有不同来源的尽可能多的数据尽量少犯错。

正如您在 CMC 示例中看到的那样,这是可以实现的。但它确实需要比 StackOverflow 答案更大的范围,所以我希望这至少能让您大致了解为了达到预期的结果您需要做什么。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...