Estaba tratando de invocar alguna función que toma dos números uint256 como entradas. Algo como esto (código de solidez)
function doSomething(uint256 input1,
uint256 input2)
He probado varias combinaciones pero aún no encuentro una forma correcta de analizar los parámetros uint256 para invocarlos doSomething
correctamente. Por ejemplo, el siguiente enfoque no funciona (lo probé en Mix).
input1 = '0xfc9e0eefe9f3a5101b7c025b217c03c95dbf9bb4f2d1d46db238e305af104103';
input2 = '0xabcbcbcbcbbc';
contracts['Sample'].contract.doSomething(input1, input2)
La mezcla se muestra input1
como un valor negativo. El mismo registro si uso el número en formato decimal. Me pregunto cuál es la forma correcta de analizar los parámetros de uint256 en una llamada de función desde 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)
Loi.Luu
input1: -1529986465583978706007266560814094031707524982871219339497837241756090875645
. Funciona en el tuyo?roland kofler