我正在测试在Rinkeby testnet上获取商品价格提要的不同方法。
一个简单的解决方案是使用Chainlink的GET API函数和JSON解析数据"Metals-API"[为许多不同商品提供价格反馈]。这样我就可以直接得到链上的数据。或者,我们可以尝试使用Chainlink的商品价格提要[https://data.chain.link/ethereum/mainnet/commodities]。问题是,目前这些价格馈送是以太坊主网独有的。我用Infura做了一个测试,我有两个Web3实例同时从Kovan (ETH价格)和以太坊主网(WTI价格)获取数据这招奏效了!我想我可以通过Web3交易将这两条链的数据传递给Rinkeby。然而,我看到的问题是,攻击者可以在理论上将任何数据传递给合约(如果有人制作自己的Web3脚本来欺骗合约,合约无法知道哪些输入数据是真实的)。在链之间传递数据有其他方法吗?
我认为有三个解决方案:
增加更多链链商品价格测试网地址,将数据直接放到测试网。是否有计划扩大对测试网的支持,同时扩大价格以追踪黄金、白银和石油以外的大宗商品?
新的跨链互操作协议(CCIP)。我有麻烦找到更多的信息与如何使用这个协议的例子。我提交了一份"了解更多"的投稿。在CCIP主页上。协议还没有向公众开放吗?
使用web scraper API从https://data.chain.link/ethereum/mainnet/commodities获取数据。是否有一个API链链接价格饲料沿所有链[我找不到一个]?
我联系了Patrick Collins,他给了我一个很好的答复:
数据馈送在许多链上,参见这里:https://docs.chain.link/docs/reference-contracts/
CCIP仍在研究中。它甚至还没有准备好测试。
您永远不会想要在生产用例中使用测试网数据源。测试网是作为一个暂存实例来支持的,并且价格通常是过时的(因为它只是一个测试网,并且没有真正的经济激励来使它们保持最新)">
编辑:rkeby OIL, XAU和XAG价格feed存在,可以在这里找到https://docs.chain.link/docs/ethereum-addresses/。我为此制作了一个Youtube视频,但正如演示所示,这些值不用于生产使用https://www.youtube.com/watch?v=cSMWUlRlGZo