I am testing different ways to get commodity pricefeeds on top of Rinkeby testnet.
One easy working solution is to use Chainlink's GET API function and JSON parse data from "Metals-API" [a pricefeed provider for many different commodities]. That way I can get the data on chain directly.
Alternatively, we can try and use Chainlink's commodity price feeds [https://data.chain.link/ethereum/mainnet/commodities]. The problem is that those price feeds are exclusive to Ethereum Mainnet at the moment. I did a test with Infura where I had two Web3 instances working to get data from Kovan [ETH price] and Ethereum Mainnet [WTI price] at the same time and it worked! I was thinking I could pass data from those two chains into Rinkeby via a Web3 transaction. However, the issue I see with this is that an attacker could pass whatever data to the contract in theory [contract doesn't have a way of knowing what input data is real if someone makes their own Web3 script to fool the contract]. Is there another way to pass data between chains?
Three solutions I see for this are:
Adding more testnet addresses for Chainlink commodity prices to put data on testnets directly. Are there plans to expand more support for testnets along with expanding prices to track commodities beyond gold, silver and oil?
The new Cross-Chain Interoperability Protocol (CCIP). I am having trouble finding more info with examples on how to use this protocol. I sent a submission for "Learn More" on the main CCIP page. Is the protocol not open to the public yet?
Using a web scraper API to GET data from https://data.chain.link/ethereum/mainnet/commodities. Is there an API for Chainlink pricefeeds along all chains [I could not find one]?
I contacted Patrick Collins and he gave me a good answer:
Data feeds are on many chains, see here: https://docs.chain.link/docs/reference-contracts/
CCIP is still being worked on. Its not even ready for beta yet.
You wouldn’t want to use testnet data feeds for production use cases ever. Testnets are supported as a staging instance, and the prices are regularly outdated (since it’s just a testnet and there is no real financial incentive to keep them up to date)"
Edit: Rinkeby OIL, XAU and XAG pricefeeds exist and can be found here https://docs.chain.link/docs/ethereum-addresses/. I made a Youtube video about this, but as the demo shows the values are not for production use https://www.youtube.com/watch?v=cSMWUlRlGZo