Selfdestruct
一個契約怎麼能毀掉其他契約(自殺賬戶)?
我從黃皮書中了解到,在契約執行結束時,可能會有一個自殺賬戶列表將被刪除。
我的問題是,一個智能合約為什麼以及如何刪除其他賬戶(智能合約)。
例如,我理解自我毀滅的需要。當一個智能合約完成時,它會自行銷毀。但是為什麼你需要摧毀別人以及如何?
我的智能合約可以破壞他人擁有的合約嗎?
另外,在工程方面,這種破壞是如何實施的?例如,我們是否真的修改了與銷毀帳戶相關的先前區塊的內容?或者我們只是更新樹結構的變化?
要開始我的回答,我不得不說,一旦你將某些東西放在區塊鏈上,它就是“不可變的”,我的意思是它不能被修改或刪除。
(有一種特殊類型的“可升級”契約,但這不是答案)
你可以在這裡找到很多關於自毀的資訊。
**為什麼你需要摧毀別人?**例如,要使合約不可訪問,您不能將其從鏈中刪除,但可以禁用它。
**我的智能合約可以破壞他人擁有的合約嗎?**這需要很長的解釋,並且有多種因素在起作用。但是,總而言之,不,你不能這樣做。
**這種破壞是如何實施的?**您可以使用
selfdestruct/destroy
(舊的意思suicide/kill
)。你可以在這裡找到一些資訊和一個很好但很老的教程——後者解釋了這個實現是如何工作的。此外,這裡還有另一個連結,其中包含有關該主題的資訊。**我們是否真的修改了與銷毀帳戶相關的先前區塊的內容?或者我們只是更新樹結構的變化?**我們永遠不能修改其他區塊,我們只能在區塊鏈中放入一個新的區塊,提供更多資訊。區塊是永久性的,它們包含交易和契約的資訊。也許這可以幫助您了解塊概念。