Ethereum multisig wallet - interacting with contracts on behalf of multisig
- 9 months ago: Investing strategy suiting your needs and why I won't actively trade Bitcoin
- Last month: Final statement why I should never trade - just buy and HODL
I'm still active in the crypto space, the only difference - I'm learning at an accelerated pace. Practically all my free time is invested into reading, learning, playing with code... I wanted to ask question on StackOverflow, but in the process of doing research I think I've figured it out.
So rather than asking the question, here is a little write up.
My current understanding:
Ethereum wallet
= private key, Ethereum address is derived from private key.
Multisig Ethereum wallet
= contract deployed to Ethereum network (requires ETH to do so). Usually there are different methods available on the contract (OwnerAddition, OwnerRemoval, etc...)
My use case:
I have a sensitive smart contract, say the one managing the ICO and minting tokens.
Don't want a single a person (the private key owner) to be a single point of failure.
Because Multisig Ethereum wallet
is effectively a contract, what is the typical flow?
Found a solution here: https://ethereum.stackexchange.com/questions/9627/deploying-a-contract-from-a-multisig-wallet
Here is the exact code from Parity multisig: https://github.com/paritytech/contracts/blob/2745c2054a6815b20dbbba98a53c4fd12c57b393/contracts/Wallet.sol#L351
It's not easy, it's not straightforward, there is no established standard yet - if it was easy they wouldn't be hacked twice.
Here is the EIP suggesting a standard: https://github.com/ethereum/EIPs/issues/763
Great read, easy to understand: https://klmoney.wordpress.com/beta7-contract-wallets/