Mientras desarrollo un contrato inteligente con Solidity en Remix , después de crear el contrato, intento consultar un mapeo público:
mapping (address => uint256) public balanceOf;
pero cuando llamo balanceOf
para la dirección 0x9b9731b07b9b5f982289bab87097eade6a4bc25d
arroja el siguiente error:
Argumentos de codificación de error: SyntaxError: token x inesperado en JSON en la posición 2
¿Alguna idea de cómo puedo llamar correctamente balanceOf
?
La dirección debe estar rodeada de comillas. "0xca35b7d915458ef540ade6068dfe2f44e8fa733c" debería funcionar.
La dirección debe proporcionarse con comillas. Justo como dijo Huafu. Debe ser comillas dobles "". No va a funcionar con qutoes individuales. En Javascript no importa y estaba tratando de descubrir qué estaba haciendo mal.
Esto funciona: "0xca35b7d915458ef540ade6068dfe2f44e8fa733c"
esto no funciona '0xca35b7d915458ef540ade6068dfe2f44e8fa733c'
contract MyToken
mapping (address => uint256) public balances;
function balanceOf(address _owner) constant returns (uint256 balance) {
return balances[_owner];
}
...
}
Referencia - The DAO , versión 1.0 con el error de $50 millones.
Juan Ignacio Pérez Sacristán