as per ethereum docs

Even if a contract’s code does not contain a call to selfdestruct, it can still perform that operation using delegatecall or callcode.

is this real?

1.if it is then even if my contract don't have kill function defined can i kill that contract? how to call delefatecall or callcode?

2.anyone other then me can kill the contract? if yes then how to stop that?

1 Answer 1


This means that you have not to provide any explicit call to self destruct truly bytecoded in your smart contract to have it killable, but you can eventually provide some call to a library or a suited contract who can kill you (if you want to). But it is required that you bytecoded the possibility to call that external link.

You cannot kill any contract from the outside by means of some special smart-contract-serial-killer.

Nobody can kill your contract for you if you did not coded that possibility.

  • so you mean to say, i cannot selfdestruct my contract because i have not written selfdestruct function in it?
    – alt j
    Commented Oct 7, 2018 at 6:57
  • Yes, of course. It will stay there forever.
    – Rick Park
    Commented Oct 7, 2018 at 6:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.