Testnets

如何訪問 Rinkeby 的主網數據?

  • March 20, 2022

我正在編寫一個使用CryptoPunks 數據智能合約的智能合約

該合約有一個公共讀取函式punkImageSvg(),該函式返回一個帶有相關朋克 SVG 的字元串。生成這些 SVG 的數據不儲存在合約源中,而是在部署後添加到儲存中。

我的問題是如何punkImageSvg()在測試環境中呼叫。在我的本地機器上,這很容易,因為我只是用 Hardhat 分叉主網。但是,當我部署到 Rinkeby 時,我無法分叉主網。

我可以在 Rinkeby 上創建自己的CryptoPunkData合約,但是我必須用朋克數據填充它。但是,我不知道如何在主網版本上提取數據並在 Rinkeby 版本上以程式方式執行它。這種方法也需要很多時間,因為有 10,000 個朋克。

當然,理想的解決方案是如果已經有一個完全填充的朋克數據契約部署到 Rinkeby,但如果有我找不到。

總體而言,我正在尋找在 Rinkeby 上使用主網數據的最佳方法,就像我通過分叉在本地使用主網數據一樣。

你不能通過 rinkeby 來做,但你可以使用像 hardhat 這樣的主網分叉工具在你自己的本地鏈上做:https ://hardhat.org/hardhat-network/guides/mainnet-forking.html

對於 CryptoPunks Data,我在這裡創建了一個 Rinkeby 合約鏡像:https ://rinkeby.etherscan.io/address/0xE1D8e86D222b8C0E479Eb9ee3d89415123Ac6387

引用自:https://ethereum.stackexchange.com/questions/121226