Tengo un contrato simple para configurar y obtener una variable uint256:
contract testContract {
uint256 test;
function testContract() {
}
function getTest() constant returns (uint256) {
return test;
}
function setTest(uint256 _test) {
test = _test;
}
}
En geth, actualizo la test
variable por
myContract.setTest.sendTransaction(0x12345678901234567890,{from: web3.eth.accounts[0]});
Ahora para leer la variable por
var cardPK = myContract.getTest.call();
console.log("test: " + cardPK.toString(16));
y obtuve
test: 12345678901233c56f80
¿Por qué está mal?
La forma correcta de enviar un gran número a contratar es haciendo:
myContract.setTest.sendTransaction(web3.toBigNumber('0x12345678901234567890'),{from: web3.eth.accounts[0]});