Truffle – 执行交易

使用合约抽象,可以方便地在以太坊网络上执行合约函数。

前面章节的MetaCoin合约中,有3个函数,其中sendCoin会更改网络状态。

当调用sendCoin时,我们将它作为交易执行。在下面的例子中,我们将从一个账户发送10元硬币到另一个账户:

truffle(develop)> let accounts = await web3.eth.getAccounts()
truffle(develop)> instance.sendCoin(accounts[1], 10, {from: accounts[0]})

上面的代码中,有一些要注意的地方:

  • 直接调用合约抽象的sendCoin函数,缺省情况下执行交易(写数据)而不是调用。

  • 交易参数sendCoin函数没有第3个参数,我们传入了第三个参数{from: accounts[0]},这个参数是一个特殊参数,称为交易参数,它总是可以作为最后一个参数传递给一个函数,用于设置交易的相关细节。
    这里我们设置了交易来源地址,确保该交易来自accounts[0],交易参数中,可以设置以下选项:

    • from
    • to
    • gas
    • gasPrice
    • value
    • data
    • nonce


浙ICP备17015664号 浙公网安备 33011002012336号 联系我们 网站地图  
@2019 qikegu.com 版权所有,禁止转载