Solidity
Create2 和新合約部署在使用的地址
鑑於似乎有可能,以某種方式使用 CREATE2,在某個地址部署一個新的智能合約,在該地址之前存在一個不同的智能合約被殺死……
(請參閱此處的@smarx 答案您可以多次自毀契約嗎?)
是這樣嗎?我該如何在實踐中做到這一點?
這
CREATE2
是今年早些時候君士坦丁堡更新中引入的新操作碼。它在其他方麵類似於CREATE
創建新智能合約的傳統操作碼,但CREATE2
您可以更自由地影響生成的合約地址 - 例如創建一個合約到之前存在另一個合約的相同地址(但它是自毀的)。鑑於主題的複雜性,我不打算在這裡解釋它是如何工作的(因為我沒有嘗試過,也沒有真正理解它是如何工作的)。
這個功能還是很新的,關於它的資訊還不是很多(甚至更少的書面經驗)。這是一篇不錯的文章:https ://blog.ricmoo.com/wisps-the-magical-world-of-create2-5c2177027604 。這裡有更多連結:https ://www.reddit.com/r/ethereum/comments/cqlnwd/eli5_create2/