【发布时间】:2022-08-06 02:20:29
【问题描述】:
我正在尝试将字节转换为 uint256。这是可靠的代码,
// SPDX-License-Identifier: MIT
pragma solidity 0.8.13;
contract Sample {
function getValue(bytes memory a) external pure returns(uint256 value) {
assembly {
value := mload(add(a, 0x20))
}
}
}
然后我部署了该代码ganache-cli 我尝试在松露控制台中调用getValue,如下所示,
(await contract.getValue(web3.utils.hexToBytes(\'0xa\'))).toString()
我预计值 10 会返回。但我收到以下错误,
Thrown:
TypeError: param.substring is not a function
at evalmachine.<anonymous>:1:19
at evalmachine.<anonymous>:2:49
at sigintHandlersWrap (vm.js:269:15)
at Script.runInContext (vm.js:124:14)
at runScript (/Users/xyz/.nvm/versions/node/v12.14.0/lib/node_modules/truffle/build/webpack:/packages/core/lib/console.js:366:1)
at Console.interpret (/Users/xyz/.nvm/versions/node/v12.14.0/lib/node_modules/truffle/build/webpack:/packages/core/lib/console.js:381:1)
at bound (domain.js:419:14)
at REPLServer.runBound [as eval] (domain.js:432:12)
at REPLServer.onLine (repl.js:715:10)
at REPLServer.emit (events.js:210:5)
at REPLServer.EventEmitter.emit (domain.js:475:20)
at REPLServer.Interface._onLine (readline.js:316:10)
at REPLServer.Interface._line (readline.js:693:8)
at REPLServer.Interface._ttyWrite (readline.js:1019:14) {
hijackedStack: \'TypeError: param.substring is not a function\\n\' +
帮我解决这个问题。