Solidity
訪問/修改合約中的期權參數
我正在使用 truffle 和 metamask 部署一個非常簡單的合約,可以將乙太幣從一個測試賬戶轉移到另一個賬戶。
如何使用我的 JavaScript 文件訪問在部署期間傳入的選項參數?部署時傳入的建構子參數後面可以修改嗎?
這是 2_deploy_contracts.js 中的行:
deployer.deploy(EscrowPayment, web3.eth.accounts[1], web3.eth.accounts[2], {gas: 4400000, value: web3.toWei(20, 'ether')});
選項參數將是
{gas: 4400000, value: web3.toWei(20, 'ether')}
這是合約中的建構子:
function EscrowPayment(address _seller, address _judge) payable { buyer = msg.sender; seller = _seller; judge = _judge; }
我閱讀了此文件,但無法執行“myContract.options”之類的操作
您在最後一個 json 對像中傳遞的選項是:gaslimit 和要發送的 Ether 值。這些(以及其他可配置的參數,例如發送者或 gasprice)可通過
msg
和tx
對象獲得,如下所述:function EscrowPayment(address _seller, address _judge) payable { gasLimit = msg.gas; // this is only the *remaining* gas and not the exact value that you passed value = msg.value; // in Wei gasPrice = tx.gasprice; buyer = msg.sender; seller = _seller; judge = _judge; }