Solidity

你怎麼知道契約是否被破壞?

  • May 3, 2020

我正在使用 web3.py 與契約進行互動。selfdestruct我想知道,在使用or呼叫函式後suicide(address),我如何發現合約實際上已經失效?

你可以打電話eth.getCode看看地址有沒有code。如果沒有程式碼,就沒有契約。如果有程式碼,則有與地址關聯的合約。

使用ether.js,您可以在下面看到它是如何工作的。第一次呼叫是在部署合約之後,第二次呼叫是在它被selfdestruct編輯之後。

> kovanEthersProvider.getCode('0x761f887ea907DB3FBc13f55867Db2c2c9BDB34F9').then(console.log) 
0x6080604052348015600f57600080fd5b506004361060285760003560e01c8063b9554c5914602d575b600080fd5b60336035565b005b600073ffffffffffffffffffffffffffffffffffffffff16fffea265627a7a723158203c431b72fff6bd29b3dd6d5b1c73f87aa200fb5a5029cbc24f45dac0e030d52664736f6c63430005110032

> kovanEthersProvider.getCode('0x761f887ea907DB3FBc13f55867Db2c2c9BDB34F9').then(console.log)
0x

遵循與 相同的模式web3.py

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