Solidity Remix:传递多个 bytes32 类型参数
Solidity Remix: passing multiple bytes32 type arguments
如何在 Remix 中传递多个参数?无论我以何种方式将参数传递给 setOrder
函数,我都会得到不同的错误:
SyntaxError: Unexpected token in JSON at position 1
Error: invalid bytes32 value (arg=undefined, type="string",
value="abc")
这是代码:
pragma solidity ^0.4.11;
contract MyContract {
bytes32 public customer;
bytes32 public location;
bytes32 public product;
bytes32 public reorderAmount;
bytes32 public usdLitrePrice;
bytes32 public usdTotalPrice;
bytes32 public timestamp;
function setOrder(bytes32 _customer, bytes32 _location, bytes32 _product, bytes32 _reorderAmount,
bytes32 _usdLitrePrice, bytes32 _usdTotalPrice, bytes32 _timestamp) public {
customer = _customer;
location = _location;
product = _product;
reorderAmount = _reorderAmount;
usdLitrePrice = _usdLitrePrice;
usdTotalPrice = _usdTotalPrice;
timestamp = _timestamp;
}
function getOrder() public constant returns (bytes32, bytes32, bytes32, bytes32, bytes32, bytes32, bytes32) {
return (customer, location, product, reorderAmount, usdLitrePrice, usdTotalPrice, timestamp);
}
}
解决方法如下:
您不能在逗号后使用空 space ,</code></p>
<p>您不能使用 <code>'
--> 而是使用 "
你必须使用十六进制0x...
示例:
"0x123","0x123","0x123","0x123","0x123","0x123","0x123"
如何在 Remix 中传递多个参数?无论我以何种方式将参数传递给 setOrder
函数,我都会得到不同的错误:
SyntaxError: Unexpected token in JSON at position 1
Error: invalid bytes32 value (arg=undefined, type="string", value="abc")
这是代码:
pragma solidity ^0.4.11;
contract MyContract {
bytes32 public customer;
bytes32 public location;
bytes32 public product;
bytes32 public reorderAmount;
bytes32 public usdLitrePrice;
bytes32 public usdTotalPrice;
bytes32 public timestamp;
function setOrder(bytes32 _customer, bytes32 _location, bytes32 _product, bytes32 _reorderAmount,
bytes32 _usdLitrePrice, bytes32 _usdTotalPrice, bytes32 _timestamp) public {
customer = _customer;
location = _location;
product = _product;
reorderAmount = _reorderAmount;
usdLitrePrice = _usdLitrePrice;
usdTotalPrice = _usdTotalPrice;
timestamp = _timestamp;
}
function getOrder() public constant returns (bytes32, bytes32, bytes32, bytes32, bytes32, bytes32, bytes32) {
return (customer, location, product, reorderAmount, usdLitrePrice, usdTotalPrice, timestamp);
}
}
解决方法如下:
您不能在逗号后使用空 space ,</code></p>
<p>您不能使用 <code>'
--> 而是使用 "
你必须使用十六进制0x...
示例:
"0x123","0x123","0x123","0x123","0x123","0x123","0x123"