Description
1. Proposed issue:
Miner's owner address supports the use of multi sign address
2. Why is this issue important?
- The owner address holds the absolute power of miner, and uses multiple signature addresses to improve security;
- Improve the multi sign address application scenario of filecoin
3. Tasks
-
The owner address is changed from ordinary address to multi sign address, multi sign address is changed to new multi sign address, and multi sign address is changed to single sign address.
eg: ordinary address to multi sign address
a,lotus-miner actor set-owner --really-do-it multisigAddress senderAddress
multisigAddress: multisigAddress is multi sign addressb-1,
lotus-miner actor-msig set-owner --really-do-it=true --from=proposerAddress multisigAddress multisigAddress
--from: Set the initiator of multi sign address transfer(Use local Default address when not set,But it must belong to the signers)
--minerid: set Miner's address (Use local Default address when not set)
b-2,lotus wallet approve approveAddress multisigAddress transferID [proposerAddress destination value [methodId methodParams]]
eg: multi sign address address to other multi sign address
a-1,lotus-miner actor-msig set-owner --really-do-it=true --from=proposerAddress newmultisigAddress oldmultisigAddress
--from: Set the initiator of multi sign address transfer(Use local Default address when not set,But it must belong to the signers for oldmultisigAddress)
--minerid: set Miner's address (Use local Default address when not set)
a-2,lotus wallet approve approveAddress oldmultisigAddress transferID [proposerAddress destination value [methodId methodParams]]
b-1,
lotus-miner actor-msig set-owner --really-do-it=true --from=proposerAddress newmultisigAddress newmultisigAddress
--from: Set the initiator of multi sign address transfer(Use local Default address when not set,But it must belong to the signers for newmultisigAddress
--minerid: set Miner's address (Use local Default address when not set)
b-2,lotus wallet approve approveAddress newmultisigAddress transferID [proposerAddress destination value [methodId methodParams]]
-
With drawbalance when the owner is a multi sign address.
eg:
a-1,lotus-miner actor-msig withdraw --from=proposerAddress amount
--from: Set the initiator of multi sign address transfer(Use local Default address when not set,But it must belong to the signers)
--minerid: set Miner's address (Use local Default address when not set)
a-2,lotus wallet approve approveAddress multisigAddress transferID [proposerAddress destination value [methodId methodParams]]
-
When the owner is a multi sign in address, modify the control address
eg:
a-1,lotus-miner actor-msig control set --really-do-it=true --from=proposerAddress [...address]
--from: Set the initiator of multi sign address transfer(Use local Default address when not set,But it must belong to the signers for owner)
--minerid: set Miner's address (Use local Default address when not set)
a-2,lotus wallet approve approveAddress multisigAddress transferID [proposerAddress destination value [methodId methodParams]]
-
When the owner is a multi sign on address, modify the worker address
eg:
a-1,lotus-miner actor-msig propose-change-worker --really-do-it=true --from=proposerAddress [address]
--from: Set the initiator of multi sign address transfer(Use local Default address when not set,But it must belong to the signers for owner)
--minerid: set Miner's address (Use local Default address when not set)
a-2,lotus wallet approve approveAddress multisigAddress transferID [proposerAddress destination value [methodId methodParams]]
It needs to wait for some time. The height of the block is about 900 higher than the propose-change-worker cmd
b-1,
lotus-miner actor-msig confirm-change-worker --really-do-it=true --from=proposerAddress [address]
--from: Set the initiator of multi sign address transfer(Use local Default address when not set,But it must belong to the signers for owner)
--minerid: set Miner's address (Use local Default address when not set)
b-2,lotus wallet approve approveAddress multisigAddress transferID [proposerAddress destination value [methodId methodParams]]