Soy un principiante que intenta ejecutar el siguiente código en remix.ethereum.org
pragma solidity ^0.4.19;
function processData(uint num) returns (bool) {
uint _number = num;
if(num == _number)
{
return true;
}
else
{
return false;
}
}
pero estoy recibiendo el error
browser/code1.sol:2:1: ParserError: Expected pragma, import directive or contract/interface/library definition.
function processData(uint num) returns (bool) {
^
¿Cómo puedo superar este error?
En segundo lugar, incluso si ignoro el error anterior, se espera que el código tenga uno de los siguientes errores que quiero detectar, pero aparentemente el código parece no tener ninguno de los siguientes errores. ¿Estás de acuerdo?
Faltaban algunas cosas, pero principalmente, necesita usar el contrato de palabra clave aquí está el ejemplo usando su código:
pragma solidity ^0.4.23;
contract YourContractName {
constructor(){
}
function processData(uint num) public pure returns (bool) {
uint _number = num;
if(num == _number) {
return true;
} else {
return false;
}
}
}
Tenga en cuenta que esto siempre devolverá verdadero.
Espero eso ayude
Rob Hitchens
pure
, que es una forma de indicar que la función no interactúa con el estado del contrato y, por lo tanto, no es necesario que un cliente firme una transacción. Remix oculta convenientemente ese detalle. Entonces,...) pure returns(bool) {