его аспектах, поэтому как-то подробно разобрать мысль автора не выдалось. думаю есть кейсы где и копирование может потребоваться, например когда в контракте нет обновления и нужно подстраиваться под его исходное иногда даже неверное строение.
For example, you should always mark reference-type arguments of external functions as calldata, not memory;
не объясняется почему так.
я бы так же указал что мемори и коллдата сходны между собой и раскрыл их отличия шире. в коллдате неизменяемые данные которые доступны только для чтения(подлог почему это безопасно), а в мемори перезаписываемые которые доступны к изменению. Так же коллдата очень релевантна к цепочным вызовам в конструкциях мультиколл. потому что дешевле, потому что безопаснее.
в сути просто перефразированная рандомная цитата из доки по солидити. То есть она не несет какое-то его осмысление. Статья является не советом аудитора, а скорее цитатами из доки.
sometimes you may even use storage references in internal calls;
опять же никаких подробностей, просто рандомная фраза из доки без ее раскрытия или примеров.
по смыслу: иногда вы можете писать функции в солидити.
перейдем к следующему абзацу:
You can change the order of storage variables or fields in a structure somewhere to use storage packing, and it will be useful.
нет примеров. Зачем это делать? Мне нужно ориентироваться на фразу ЭТО ПОЛЕЗНО-ПРИМЕНИМО? ЭТО СОВЕТЫ АУДИТОРОВ??????
However, sometimes reading and writing with storage packing is not always cheaper than without it. You can save a lot of gas when writing a storage array of structures with packed fields;
просто прочитайте еще раз. write & storage packing не всегда дешевле, чем без них. примера нет, измерения с помощью инструментов нет.
с таким же успехом обоснования своей аргументации я бы мог написать: одна функция не всегда дешевле другой функции.
Custom errors is cheaper to use than revert(“error text”). There is more information in this article: soliditylang.org/blog/2021/04/21/custom-errors.
зачем вообще сравнивать кастомные ошибки и логику реверта? Сравнение этого некорректно, так как они априори в разных кейсах используются.
Абсолютно не читаемая портянка. Выкладывай статью и ведите обсуждение в коментариях этой статьи если хочется хоть какойто конкретики. А сейчас это просто длинющий наброс в чате ради того, чтобы самоутвердиться
Обсуждают сегодня