¿Por qué la nueva sintaxis de eventos de emisión da un error de compilación?

Este ejemplo devuelve errores de sintaxis cuando se usa la palabra clave emit.

emit AuctionEnded(highestBidder, highestBid);

Este es el documento donde está el código de ejemplo.

http://solidity.readthedocs.io/en/develop/solidity-by-example.html#simple-open-auction

¿Por qué hay errores de sintaxis? ¿Cómo llamas realmente a un evento enpragma solidity ^0.4.21;

Encontré dos discusiones diferentes relacionadas con la pregunta, pero no tengo ninguna respuesta. github.com/ethereum/solidity/issues/2877 github.com/ethereum/solidity/issues/3252

Respuestas (2)

También necesita la versión correcta del compilador. pragma solidity ^0.4.21es solo una pista, pero no la selección del compilador concreto.

Si prueba esto en https://remix.ethereum.org/ que carga el compilador 0.4.21 de forma predeterminada, funcionará perfectamente bien. Cuando cambia el compilador a una versión inferior (pestaña de configuración), obtendrá el error de sintaxis.

Ya veo, la versión era la clave gracias! (nota etherium.org no com)
oh... mi culpa... gracias por el puntero, lo cambié a org.

actualizar trufa

npm instalar trufa@4.1.5 -g