In einigen Verträgen habe ich Kommentare gesehen, die mit "/*" und "/**" gemacht wurden. Für mich wäre die einzige Änderung in der IDE wie Remix, dass die Farbe von grün (/*) nach blau (/**) wechselt. Ich mochte bisher das "/**" mehr, aber jetzt habe ich einen Fehler bekommen und verstehe nicht, was das "/**" macht. Folgender Code:
/**
* @event Transfers token
*/
event Transfer(address indexed from, address indexed to, uint256 value);
Gibt mir
DocstringParsingError: Doc-Tag @event für Funktionen nicht gültig.
aber "@event" durch "@dev" ersetzen
/**
* @dev Transfers token
*/
event Transfer(address indexed from, address indexed to, uint256 value);
Funktioniert und verwendet @event
über fast allem anderen
/**
* @event Transfers token
*/
public uint anynumber;
Funktioniert auch.
So wie ich es verstehe, ist in "/**" mehr als nur ein Kommentar. Was ist das und warum funktioniert "@event" nicht über einem Event, auch wenn es nur ein Kommentar ist?
Es ist das Ethereum Natural Specification Format .
Die Dokumentation wird über der Funktion nach der Doxygen-Notation eingefügt, entweder in einer oder mehreren Zeilen, beginnend mit /// oder einem mehrzeiligen Kommentar, beginnend mit /** und endend mit */.
In der Spezifikation @dev
ist ein vorhandenes Tag und @event
nicht definiert.
dkb