mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Remove FAQ item on killing contracts
This commit is contained in:
parent
87237281bf
commit
a4da8c1ad8
@ -9,29 +9,6 @@ This list was originally compiled by `fivedogit <mailto:fivedogit@gmail.com>`_.
|
||||
Basic Questions
|
||||
***************
|
||||
|
||||
Create a contract that can be killed and return funds
|
||||
=====================================================
|
||||
|
||||
First, a word of warning: Killing contracts sounds like a good idea, because "cleaning up"
|
||||
is always good, but as seen above, it does not really clean up. Furthermore,
|
||||
if Ether is sent to removed contracts, the Ether will be forever lost.
|
||||
|
||||
If you want to deactivate your contracts, it is preferable to **disable** them by changing some
|
||||
internal state which causes all functions to throw. This will make it impossible
|
||||
to use the contract and ether sent to the contract will be returned automatically.
|
||||
|
||||
Now to answering the question: Inside a constructor, ``msg.sender`` is the
|
||||
creator. Save it. Then ``selfdestruct(creator);`` to kill and return funds.
|
||||
|
||||
`example <https://github.com/fivedogit/solidity-baby-steps/blob/master/contracts/05_greeter.sol>`_
|
||||
|
||||
Note that if you ``import "mortal"`` at the top of your contracts and declare
|
||||
``contract SomeContract is mortal { ...`` and compile with a compiler that already
|
||||
has it (which includes `Remix <https://remix.ethereum.org/>`_), then
|
||||
``kill()`` is taken care of for you. Once a contract is "mortal", then you can
|
||||
``contractname.kill.sendTransaction({from:eth.coinbase})``, just the same as my
|
||||
examples.
|
||||
|
||||
If I return an ``enum``, I only get integer values in web3.js. How to get the named values?
|
||||
===========================================================================================
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user