Solidity

將 uint256 參數解析為來自 web3.js 的函式呼叫

  • February 23, 2019

我試圖呼叫一些將兩個 uint256 數字作為輸入的函式。像這樣的東西(solidity 程式碼)

function doSomething(uint256 input1, 
                    uint256 input2)

我嘗試了幾種組合,但仍然沒有找到正確的方法來解析 uint256 參數以doSomething正確呼叫。例如,下面的方法不起作用(我在 Mix 中嘗試過)。

input1 = '0xfc9e0eefe9f3a5101b7c025b217c03c95dbf9bb4f2d1d46db238e305af104103';
input2 = '0xabcbcbcbcbbc';
contracts['Sample'].contract.doSomething(input1, input2)

混合顯示input1為一些負值。如果我使用十進制格式的數字,則相同的日誌。我想知道將 uint256 參數解析為來自 web3.js 的函式呼叫的正確方法是什麼?

input1 = web3.toBigNumber('0xfc9e0eefe9f3a5101b7c025b217c03c95dbf9bb4f2d1d46db238e305af104103');
input2 = web3.toBigNumber('0xabcbcbcbcbbc');
contracts['Sample'].contract.doSomething.call(input1, input2)
let id ='80084422859880547211683076133703299733277748156566366325829078699459944778998';
let uint256Id = web3.eth.abi.encodeParameter('uint256',id)

引用自:https://ethereum.stackexchange.com/questions/5832