Solidity

合約可以寫入 IPFS 嗎?

  • November 3, 2022

我習慣於將 IPFS 作為 NFT 元數據的數據儲存。但是智能合約有可能寫入ipfs 嗎?在我的案例中,我希望我的 NFT 提取它的元數據,更改一些欄位,將新的元數據推送到 IPFS,最後更新它自己的令牌 URI。

不,智能合約無法寫入 IPFS,因為乙太坊智能合約無法直接與任何鏈下資源通信,否則每次執行交易時不同節點可能會收到不同的結果,這將無法在乙太坊中達成共識區塊鏈。

看:

有沒有辦法從智能合約內部上傳到 IPFS 或 Swarm?

直接從solidity合約寫入IPFS

您可以為此使用 Chainlink。首先使用 Any API 獲取請求來獲取元數據,然後在您的合約中相應地修改元數據對象,然後使用帶有外部適配器的鍊鍊接節點設置將 JSON 文件上傳到 IPFS,其中包含您的請求中的新元數據對象。chainlink 節點應該能夠返回新的 CID,您可以使用它來更新元數據 URL。這一切都很抽象,但應該可以!

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