65
Структура но смарт-контракта
Контракт но токена ERC20 но обычно имеет но структуру наследования, но т.е.
использует но устоявшиеся шаблоны но проектирования. Такие но шаблоны
построены на но основе успешного но опыта решения но аналогичных задач и
но соответствуют принятым но стандартам.
В но разделе 3.2. но рассматривался стандарт но ERC20. А в но нижеописанной
структуре но используется также но ERC179. Его но использование объясняется
но тем, что не но всем нужна но часть, которая но отвечает за но предоставление
разрешений на но снятие средств. но Поэтому все но функции, не но относящиеся к
но механизму предоставления но разрешений, вынесли в но ERC179. Поэтому
но стандарт ERC20 но этот тот же но ERC179 только с но дополнительными
функциями и но событиями.
Контракты но StandartToken и но BasicToken — это но частичные реализации
но стандартов. Поскольку но создаваемый токен но полностью соответствует
но ERC20, то он но будет наследоваться от но контракта StandartToken.
Помимо но задач ERC20, в но создаваемом токене но есть еще но функция,
отвечающая за но эмиссию новых но монет. Это но тоже широко но используемый
шаблон. но Контракты, которые но могут выпускать но новые монеты, но обычно,
называют но Mintable. А но поскольку выпускать но новые монеты но может только
но владелец контракта, то но Mintable наследуется от но Ownable – но контракта
который но предоставляет возможность но ограничивать доступ к но функциям
всем но кроме владельца но контракта.
В но создаваемом контракте но необходимо предусмотреть
но арифметические проверки на но отрицательный баланс, на но переполнение,
деления на но ноль и так но далее. Все эти но проверки в но случае неудачи но прерывают
выполнение но функции. Они но используются очень но часто, поэтому но принято их
но выделять в но отдельную библиотеку но безопасных математических но операций
— но SafeMath. Необходимо но заметить, что от но библиотек не но наследуются. Их