这两个值之间的区别?
Difference between this 2 values?
在我的 js 文件中,我向智能合约调用了一个发送交易,那么值之间有什么区别:
instance.multiply.sendTransaction(val,{ from: accounts[0], gas : 300000}
和 instance.multiply.sendTransaction({ from: accounts[0], gas : 30000, value : val}
、
我将第一个作为参数传递给函数,第二个可以在函数中通过 msg.value
?
访问
Proper Syntax for web3.eth.sendTransaction
web3.eth.sendTransaction(transactionObject [, callback])
第二个工作正常instance.multiply.sendTransaction({ from: accounts[0], gas : 30000, value : val},
并且应该。
sendTransaction 格式为sendTransaction({from: eth.accounts[0], data: code, gas: 100000})
.
from:
字符串 - 发送帐户的地址。使用
web3.eth.defaultAccount 属性,如果未指定。
to:
String - (optional) 消息的目的地址,
未定义合约创建交易。
value:
Number|String|BigNumber - (optional) 传递的值
对于魏的交易,如果是
合约创建交易。
gas:
Number|String|BigNumber - (optional, default:
待定)交易使用的gas量
(未使用的 gas 被退还)。
data
: String - (optional) 要么是包含
消息的相关数据,或者在
合约创建交易,初始化代码。
更多请参见:https://github.com/ethereum/wiki/wiki/JavaScript-API#web3ethsendtransaction
在您的第一个代码片段中,您将 val
作为参数传递给函数。
在第二个代码片段中,您没有传递任何参数,但您在交易中发送了 val
wei。是的,合同,可以通过查看 msg.value
来了解发送了多少 wei,但重要的是还有以太币的转移。 (10**18 wei == 1 以太。)
所以两者的主要区别是:
- 一个将值作为参数传递,另一个不传递。
- 一个在交易中发送了一些以太币,而另一个则没有。
在我的 js 文件中,我向智能合约调用了一个发送交易,那么值之间有什么区别:
instance.multiply.sendTransaction(val,{ from: accounts[0], gas : 300000}
和 instance.multiply.sendTransaction({ from: accounts[0], gas : 30000, value : val}
、
我将第一个作为参数传递给函数,第二个可以在函数中通过 msg.value
?
Proper Syntax for web3.eth.sendTransaction
web3.eth.sendTransaction(transactionObject [, callback])
第二个工作正常instance.multiply.sendTransaction({ from: accounts[0], gas : 30000, value : val},
并且应该。
sendTransaction 格式为sendTransaction({from: eth.accounts[0], data: code, gas: 100000})
.
from:
字符串 - 发送帐户的地址。使用 web3.eth.defaultAccount 属性,如果未指定。to:
String - (optional) 消息的目的地址, 未定义合约创建交易。value:
Number|String|BigNumber - (optional) 传递的值 对于魏的交易,如果是 合约创建交易。gas:
Number|String|BigNumber - (optional, default: 待定)交易使用的gas量 (未使用的 gas 被退还)。data
: String - (optional) 要么是包含 消息的相关数据,或者在 合约创建交易,初始化代码。
更多请参见:https://github.com/ethereum/wiki/wiki/JavaScript-API#web3ethsendtransaction
在您的第一个代码片段中,您将 val
作为参数传递给函数。
在第二个代码片段中,您没有传递任何参数,但您在交易中发送了 val
wei。是的,合同,可以通过查看 msg.value
来了解发送了多少 wei,但重要的是还有以太币的转移。 (10**18 wei == 1 以太。)
所以两者的主要区别是:
- 一个将值作为参数传递,另一个不传递。
- 一个在交易中发送了一些以太币,而另一个则没有。