1703877207
·transactionHash。交易哈希。
1703877208
1703877209
·transactionIndex。区块中交易索引位置的整数部分。
1703877210
1703877211
·from。发起人地址。
1703877212
1703877213
·to。接收者地址;如果是合约创建交易,则为null。
1703877214
1703877215
·cumulativeGasUsed。在区块中执行该交易时使用的gas总量。
1703877216
1703877217
·gasUsed。这个特定交易独自使用的gas量。
1703877218
1703877219
·contractAddress。如果交易是合约创建,表示被创建的合约地址;否则,为null。
1703877220
1703877221
·logs。该交易生成的日志对象数组。
1703877222
1703877223
1703877224
1703877225
1703877227
区块链项目开发指南 4.1.7 发送以太币
1703877228
1703877229
让我们看看如何向任意地址发送以太币。为了发送以太币,需要使用web3.eth.sendTransaction()方法。该方法可用于发送任意种类的交易,但主要用于发送以太币,原因是使用这种方法部署合约或者调用合约方法比较麻烦——它要求生成交易数据而不是自动生成交易数据。该方法的交易对象包含下列属性:
1703877230
1703877231
·from。发送账户的地址。如未标明,使用web3.eth.defaultAccount属性。
1703877232
1703877233
·to。可选项。信息目的地的地址,对于合约创建交易,该项未定义。
1703877234
1703877235
·value。可选项。通常在转账中单位为wei(在合约创建交易情况下,作为合约的资金注入,单位也是wei)。
1703877236
1703877237
·gas。可选项。交易使用的gas量(未使用的gas被退回)。如果不提供,则自动决定该项。
1703877238
1703877239
·gasPrice。可选项。交易中以wei为单位的gas价格,默认为网络平均gas价格。
1703877240
1703877241
·data。可选项。它或者是包含信息相关数据的字节字符串,或者是初始代码(在合约创建交易情况下)。
1703877242
1703877243
·nonce。可选项。它是个整数。每一个交易都有一个相关计数nonce。该数字表示交易发起人发送的交易数量。如果未提供nonce,则自动确定。它的作用是防止重播攻击。nonce不是与挖区块相关的那个随机数。如果使用的nonce大于交易应当有的nonce,则交易被放入一个队列直到其他交易数量到达。例如,如果下一个交易的nonce应该是4,而nonce被设为10,则geth在广播这个交易之前将等待之间的6个交易。nonce为10的交易称为排队交易,而不是待定交易。
1703877244
1703877245
向一个地址发送以太币的示例如下:
1703877246
1703877247
1703877248
1703877249
1703877250
这里从账户0向账户1发送一个以太币。在运行geth时,确保使用unlock选项解锁两个账户。在geth交互接口上,提示输入密码,但是如果账户被锁定,交互接口以外的web3.js API将返回error。这个方法返回交易哈希。然后可以使用getTransactionReceipt()方法检查是否挖出了交易。
1703877251
1703877252
还可以用web3.personal.listAccounts()、web3.personal.unlockAccount(addr,pwd)和web3.personal.newAccount(pwd)实时管理账户。
1703877253
1703877254
1703877255
1703877256
[
上一页 ]
[ :1.703877207e+09 ]
[
下一页 ]