Web3js
使用 onlyWallet 修飾符呼叫 MultiSigWallet 中的函式
我已經從 ConsenSys 部署了一個MultiSigWallet。如何使用 onlyWallet 修飾符呼叫函式?
modifier onlyWallet() { if (msg.sender != address(this)) revert(); _; }
address
變數需要是賬戶地址還是合約地址?var data = multisig.replaceOwner.call(web3.eth.accounts[1], web3.eth.accounts[2], {from: address}, function(err, res) { console.log(res.toString())});
onlyWallet
修飾符意味著一筆交易需要首先通過多個簽名進行確認。為此,您需要:1.送出交易並獲取
transactionId
function submitTransaction(address destination, uint value, bytes data)
2.使用所有者帳戶的所需確認次數進行確認:
function confirmTransaction(uint transactionId)
3.執行交易:
function executeTransaction(uint transactionId)
onlyWallet 交易不是為了確認,它是在檢查呼叫者是否是合約本身。
modifier onlyWallet() { require(msg.sender == address(this)); _; }
address(this) 是合約地址。