Remix
在 Remix 工作時不小心發布了一個無用的合約。如何從 IPFS 撤回契約?我應該關心嗎?
我正在做一個綜合練習,一份小而基本的契約。像我這樣的初學者和像我一樣累的人,我不小心按下
Publish to IPFS
了按鈕而不是Deploy
按鈕。我將如何撤回該決定?
在這種情況下,合約還沒有完成而且毫無用處,程式碼不起作用,發布沒有意義,它只是在向系統發送垃圾郵件。
我在 Remix 中部署時發佈到 IPFS 是否安全?它說這個發布的契約只是為了驗證任何使用它的人。在這種情況下,這沒有任何意義。
我也不想分享它,因為您通常不應該發布任何教育活動的解決方案,行為準則。另一方面,我可以將其直接發布,沒有戲劇性,沒有人會關心或想到通過 IPFS 進行搜尋。我只是好奇我是否可以完全從 IPFS 撤回該契約,以及我是否應該這樣做以保持 IPFS 免受無用文件的影響。
TL; DR你不能也不應該在意。
這可能有點離題,但IPFS不是一個不可變的分類帳,根本不是。當您通過 Remix發佈時,它首先會嘗試使用本地 IPFS 節點,如果未找到它會嘗試使用Infura公共節點 (
https://ipfs.infura.io:5001/api/v0/add?pin=true
) 並要求將內容固定(以保留在記憶體中)一段時間。由 IPFS 節點(在本例中為Infura節點)決定將資訊保留給其他節點多長時間,通常,如果一段時間後沒有節點請求它,它會從記憶體中刪除(未固定)。
因為 IPFS 是一個內容可定址的網路——獲取資訊的 URI 是基於該資訊的內容——如果你不共享契約的結果雜湊,任何對等方將無法向 Infura 詢問該內容, 它最終會被從他們的記憶體中刪除。