Найти тему
Не OpenZeppelin'ом единым OpenZeppelin уже давно стал стандартом де-факто для разработки смарт-контрактов. В этой библиотеке реализованы практически все популярные ERC-стандарты и множество других полезных вещей. Однако, у OZ есть и альтернативы: - Solady кроме основных ERC предлагает реализацию различных структур данных (куча, красно-чёрное дерево, битовые карты), функции для работы с датой и временем, разбором JSON (!), сжатия данных алгоритмом LZ (!!) и ещё достаточно много всего. Киллер-фича библиотеки — максимальная оптимизация по газу, поэтому код написан практически целиком на Yul и читать его невозможно нелегко. - Solmate — библиотека, испытательным полигоном для которой служит Solady. По сути, её более стабильная версия. Фич меньше, кода на Yul тоже, читать и использовать код проще.
1 год назад
ChatGPT с нами всего лишь год, а у меня уже выработалась нейрослепота (по аналогии с баннерной слепотой). Заказывал на Kwork обработку фото для канала и получил вот такое предложение. От текста просто за километр несёт искусственностью, а ещё автор даже Markdown-разметку для выделения текста жирным не потрудился убрать (Kwork Markdown не поддерживает). Надеюсь, он хотя бы обработкой фото занимается сам. А то разделы Kwork, связанные с программированием уже плотно захватили люди, за которых ChatGPT не то что предложения, а уже и сам код пишет. Предположения о качестве такого кода сделайте сами.
1 год назад
Свободные функции в Solidity Функции в Solidity можно объявлять не только в контрактах и библиотеках, а ещё и на уровне файла. Такие функции называются «свободными», имеют область видимости internal и могут: - вызывать другие контракты и свободные функции; - отправлять нативную валюту; - эмитировать события; - работать с хранилищем контракта (через переданный в аргументе функции указатель на хранилище, либо ассемблерные вставки в коде).
1 год назад