Разработка смарт-контрактов и Dapp на Solidity #9 — Оптимизация, GasLimit, GasPrice

Автор Georgiy Dronov
Разработка смарт-контрактов и Dapp на Solidity #9 — Оптимизация, GasLimit, GasPrice

Всем привет.

Друзья вы на канале Studio Code есть закон речь будет идти самой важной части в разработке смарт-контрактов — это оптимизация оптимизация включает в себя огромное количество всего. Если говорить о традиционном то — это оптимизация памяти оптимизация скорости оптимизация кода на количество ненужных строк оптимизация работы кода на количество ненужных вычислений и много чего другого есть хорошая фраза на тему оптимизации, что если ресурс на который поступает 100 млн запросов в оптимизируйте хотя бы на 1 кб то вы сэкономите 100 млн кВт почти 100. ГБ ресурсов и я подразумеваю память вычислительную скорость производительность который для многих проектов серьезно влияют на доходы.

Например если говорить о которая берёт комиссию с каждой транзакции для неё критически важно иметь большую скорость потому как — это пропорционально влияет на её доходы биржа которая способна 40000 транзакций в секунду заработает значительно больше в периоде ажиотажа чем биржа которая сможет осилить только 1000 транзакций в секунду и если в традиционном мы говорим о увеличении оптимизации как, а возможно.

Увеличение доходов проекта в будущем то когда мы говорим о. Смарт контрактах мы говорим он прямо сейчас потому как любое действие в блокчейне стоит денег любое добавление изменение старый информации в блокчейне меняет его состояние. А значит данные изменения должны обработать майнеры. А вы. Заплатите тем комиссию за работу поэтому оптимизируя смарт-контракт вы напрямую оптимизируйте свой бюджет и поэтому оптимизация так важно особенно в блокчейне говоря об оптимизации обучения эфире мы говорим об оптимизации количества газа за транзакцию дело в том, что в эфириуме в отличие от биткоина комиссия производится по другому принципу. Начнем с того чтобы. Что из себя представляет Gus Gus или в переводе бензин — это единица измерения работы которую нужно совершить для той или иной логики. Смарт контрактам — это можно следующим образом. Представьте, что виртуальная машина эфириум — это ваш автомобиль на которой вам нужно ехать из точки. А в точку б и вы решаете каким маршрутом вы сможете проехать чтобы сэкономить больше бензина если вы поедете по необработанный земле можно пройти меньше расстояние. Анапа потратите больше бензина. Если же вы поедете в горку выход. России ещё больше бензина и если вы поедете по ровной и гладкой дороге то вы сэкономите бензина для преодоления этого маршрута тоже самое и смарт-контрактов у вас есть какая-то задача и вы можете решить разными путями и выложить в эту задачу количество бензина. Как вы понимаете после того как вы написали свой код существует уже какое-то конкретное количество бензина которая вам нужно сжечь чтобы его выполнить — это значение примет то есть максимальное количество газа которое нам может понадобиться для выпал данные операции и если вы указали количество газа больше чем нужно то ничего страшного он никуда не денется как и никуда не денется бензин который вынес сожгли полностью в своём Mobile на правильном пути после того как мы определились с количеством газа. Нам пришло время определиться с его стоимостью ведь как и на бензин цена газа может серьёзно меняться мы проехали по ровной дороге на литр бензина в. Дубае и. Представьте, что вы проехали по такой же ровной дороги в. России на литр бензина расстояние вы преодолели одинаковое количество бензина зажгли тоже одинаковая, но цена за литр бензина существенно различается в. Дубае и в. России в эфириуме цена за единицу газа зависит от нагрузки сети количестве майнеров в этой сети чтобы посмотреть цену на единицу газа. На текущий момент мы можем на страницу yodha gas station. инфо в этом поле мы можем увидеть на текущий момент — это опять гвв 1 gwei равняется в с девятью нулями то есть 1 млрд в нас сейчас — это большая цена за единицу газа обычно цена цена варьируется 2-3. Гавайях сейчас она здесь написано количество газа для стандартной операции, а именно переводов перевод эфиров с одного. Кошелька на другой — это 21.000 г и получив итоговую комиссия мы возьмём 21000. Газа Лев получим какое-то значение в эфире и — это значение в. Икее равняется 0 14 долларов теперь давай теперь практике мы уже чуть-чуть начинали затрагивать оптимизацию когда говорили о выделяемой памяти для переменной типа int I Won't, что её можно записать uint8 такое 256, но — это не единственный способ для ограничения размеров выделяемой памяти для переменной второй способ. Можно как константу для этого нужно указать ключевое слово constant и, тогда памяти для создания переменной будет драться в пределе её значение далее идем по функциям в случае если ваша функция не меняется то есть не создает переменных и не присваивает уже созданным какое-либо значение всё, что она делает — это берёт уже созданные данные с блокчейна. Кто эта функция можно сделать бесплатный для этого во время её создания нужно указать ключевое слово вьюн и, тогда я можно будет вызывать не при этом газа очень важно не забывать об этом иночество спишутся деньги впустую после этого нужно указать ключевое слово retard и в скобках указать тот который данная функция вернет в данном случае наш тип является страховым мы вернём эту строку которую создали в начале как константу. А если ваша функция ещё я не считаю данные случайно просто производят какую-то.

0 комментариев
0

Читайте также