Remix

為什麼 chainlink 價格資訊和其他服務不能在本地鍊或 JavaScript 虛擬機上執行?

  • June 25, 2021

我在 vm 上部署了混音,結果返回零。我連接了我自己的元遮罩,它返回一個接近正確結果的值。為什麼它在 Javascript VM 中不起作用?

Chainlink就是所謂的第 2 層。這意味著它建立在現有鏈之上。

在主網和測試網上,有 Chainlink 節點監控這些區塊鏈以響應請求。沒有任何 Chainlink 節點監控您的本地鍊或虛擬機,因為它們僅存在於您的機器上!

此外,如果您想使用 Chainlink 價格資訊,這些資訊也只存在於特定的鏈上。例如,您無法在本地鏈上使用Aave,因為它從未部署到您的本地鏈。


儘管如此,使用 Chainlink 技術進行本地測試和部署合約仍然很重要。這就是分叉模擬發揮作用的地方。如果您在本地測試使用鍊鍊接的智能合約,您將需要模擬呼叫。

這是一個連結,可以了解有關測試 Chainlink 智能合約的更多資訊和一些範例測試 更多測試

Chainlink 價格饋送是您可以與之互動的已部署合約。如果您將它們部署在沒有這些提要的網路上,您創建的任何依賴於特定 Chainlink 價格提要的合約都將不起作用(例如,部署依賴於特定 Kovan 部署的 Chainlink 價格提要的合約)到像 Ropsten 這樣的另一個網路或像 Ganache 這樣的本地區塊鏈)。順便說一句,JavaScript VM 只是在您的瀏覽器中執行的另一個本地區塊鏈,因此請確保您在其中部署的任何契約都沒有任何預先存在的契約(如價格饋送)的假設。

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