¿Diferencia entre /* y /**? (Comentando contratos)

En algunos contratos vi comentarios que se hacen con "/*" y "/**". Para mí el único cambio sería en el IDE como Remix, que el color cambia de verde (/*) a azul (/**). Hasta ahora me gustaba más el "/**", pero ahora tengo un error y no entiendo qué hace el "/**". siguiente código:

/**
 * @event Transfers token
 */
event Transfer(address indexed from, address indexed to, uint256 value);

me da

DocstringParsingError: la etiqueta de documento @event no es válida para las funciones.



pero reemplazando "@event" con "@dev"

/**
 * @dev Transfers token
 */
event Transfer(address indexed from, address indexed to, uint256 value);

Funciona

y usa @event por encima de casi cualquier otra cosa.

/**
 * @event Transfers token
 */
public uint anynumber;

También funciona.

Entonces, según tengo entendido, en "/ **" es más que solo comentar. ¿Qué es eso y por qué "@event" no funciona sobre un evento, incluso si es solo un comentario?

Respuestas (1)

Es el formato de especificación natural de Ethereum .

La documentación se inserta encima de la función siguiendo la notación doxygen de una o varias líneas que comienzan con /// o un comentario de varias líneas que comienza con /** y termina con */.

En la especificación @deves una etiqueta existente y @eventno está definida.

¡Oh genial, gracias! No pensé que tiene más funciones que solo comentarios. Triste ya no puedo hacer comentarios en azul sin tener más funciones de las que quería :D.