Что такое NatSpec в смарт контракте?
NatSpec (Ethereum Natural Language Specification Format) - это специальная форма комментариев для документирования вашего смарт контракта.
Когда мы учились создавать soulbound токен и разбирали код с GitHub, там было прекрасно показано использование таких комментариев.
Простой пример:
/**
* @title Counters
* @author Matt Condon (@shrugs)
* @dev Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number
* of elements in a mapping, issuing ERC721 ids, or counting request ids.
*/
Вообще, существуют следующие теги:
@title - описывает контракт, библиотеку или интерфейс;
@author - автор контракта, библиотеки или интерфейса;
@notice - заметка о функции, переменной, контракта и т.д.;
@dev - описывает для разработчиков какие-либо детали кода;
@param - документирует параметры функции или event;
@return - говорит, что возвращается в функции;
@inheritdoc - копирует теги из базового контракта (обязательно нужно указывать сам контракт);
@custom - пользовательский комментарий;
Больше про теги и комментирование можно прочитать в официальной документации Solidity тут.
#аудит #natspec
Post #348
179
- 👍 1