Copyright © 2022-2024 aizws.net · 网站版本: v1.2.6·内部版本: v1.23.3·
页面加载耗时 0.00 毫秒·物理内存 63.6MB ·虚拟内存 1300.0MB
欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
使用合约抽象,可以方便地在以太坊网络上执行合约函数。
在前面章节的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
继续使用示例MetaCoin,我们将执行 getBalance函数,该函数从网络中读取数据,不做任何更改,它只返回指定地址的MetaCoin余额。 尝试: truffle(develop)&g ...