Copié y pegué el código que se encuentra aquí: https://www.ethereum.org/token en un archivo llamado TokenERC20.sol
cuando corro
truffle compile
me sale este error:
SyntaxError: Expected "contract", "import", "library", "pragma", "using", comment, end of input, end of line, or whitespace but "i" found.
at peg$buildStructuredError (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:177767:12)
at Object.peg$parse [as parse] (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:181366:11)
at Object.parse (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:89808:23)
at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:57847:36
at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:50141:5
at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:66021:16
at next (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:75933:18)
at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:50126:7
at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:96942:5
at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:75838:16
¿Alguien sabe qué podría estar causando esto?
EDITAR El problema parece estar aquí:
pragma solidity ^0.4.8;
interface tokenRecipient {
function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) public;
}
contract TokenERC20 {
// Public variables of the token
string public name;
string public symbol;
uint8 public decimals = 18;
// 18 decimals is the strongly suggested default, avoid changing it
uint256 public totalSupply;
Si comento la interfaz y cada línea que la usa, se compila bien. ¿Hay algún problema con la forma en que se declara la interfaz?
Los contratos de interfaz se introdujeron en Solidity versión 0.4.11 :
Versión 0.4.11
Esta versión... agrega contratos de interfaz e implementa algunas comprobaciones de seguridad adicionales.
Características:
...
- Contratos de interfaz de soporte.
...
Los compiladores anteriores a 0.4.11 dan el error que informa.
Verifique la versión de su compilador, pero pragma solidity ^0.4.8;
no parece prometedor.
ismael
usuario714171
usuario714171
benjaminion