如何在 JavaScript 中构建查询和数据模型以显示来自各种来源的匹配数据?
Posted
技术标签:
【中文标题】如何在 JavaScript 中构建查询和数据模型以显示来自各种来源的匹配数据?【英文标题】:How to structure queries and a data model in JavaScript to show matching data from various sources? 【发布时间】:2022-01-22 11:09:03 【问题描述】:我正在开发一个 POC,以从各种流动性池(配对代币,即来自各种交易所的 WEI/USDT)中提取数据。
在尝试创建类似于 here 所见的 DAI 图表:
我正在尝试在 javascript 中提出一个查询和数据模型来包含这些数据。
给定的将是“DAI”。首先使用 DAI 池(任何包含“DAI”的池对)获取 Uniswap 结果。然后从 SushiSwap 中获取匹配“WETH”的结果列表。由于这两个来源可能不会有所有匹配的池,因此在内存中使用这两个列表,创建一个包含所有匹配项的列表,即 USDT/WETH(在上图中以绿色匹配)。
我最初打算创建一个关联数组,其中包含要匹配的标记列表:
poolList["Uniswap"] = collection of pool objects
poolList["Sushiswap"] = collection of pool objects
收集数据的样子
"data":
"pools": [
"token0":
"id": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
"name": "Wrapped Ether",
"symbol": "WETH"
,
"token1":
"id": "0xd1063ee5ec2891991a29fefb52bcc448cd386844",
"name": "BanDogge Mastiff",
"symbol": "DOGGE"
,
"token0":
"id": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
"name": "Wrapped Ether",
"symbol": "WETH"
,
如何存储来自各种交易所的数据,以便存在常见对的过滤器列表,或者创建某种二维数组来反映上面图表的显示方式?
【问题讨论】:
问题是什么? 【参考方案1】:我从底层开始研究这个问题:这是什么类型的数据问题?
在解决这个问题时,我能够通过对我的问题What can be used to identify the source collection for common elements from n-number of collections? 的建议答复进行工作,并提出了一个以可行格式呈现数据的解决方案:
但是,该表并未准确反映最初的问题,
(index)
代表矿池名称或代币对,即 USDT/ETH。后续列表示包含这些代币对或流动性池的交易所及其属性。
为了维护原始问题的上下文并帮助其他人,可以找到完整的代码解决方案here。
【讨论】:
以上是关于如何在 JavaScript 中构建查询和数据模型以显示来自各种来源的匹配数据?的主要内容,如果未能解决你的问题,请参考以下文章
构建数据库、codeigniter 模型和 javascript 调用以优化速度和效率
如何在 Laravel Eloquent 中构建具有多级关系的查询