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

下一章:Truffle 执行调用

  继续使用示例MetaCoin,我们将执行 getBalance函数,该函数从网络中读取数据,不做任何更改,它只返回指定地址的MetaCoin余额。 尝试: truffle(develop)&g ...