Написання смарт-контрактів — мої особисті нотатки та думки

Ну що, товариші, розкажу я вам, як по-справжньому писати смартконтракти, без прикрашання і дурниць, якими кишить інтернет. Я сам довго мучився з цим і готовий поділитися досвідом.

Розпочну з того, що писати смартконтракти — це не так складно, як здається, але й не так просто, як обіцяють усі ці "гуру" зі своїми курсами за шалені гроші. Особливо бісить, коли великі гравці ринку намагаються монополізувати цю сферу знань.

Вибір мови — перший крок до успіху або провалу

Для написання смартконтрактів в основному використовують Solidity — це як стандарт в індустрії. Але чесно кажучи, мова сама по собі достатньо сира і з купою дірок. Я працював з ним кілька років і постійно натикаючись на проблеми, про які ніхто не попереджає.

Альтернативи є — FunC для TON, наприклад. Але тут інша біда — документації мало, і вона часто англійською з кривим перекладом.

Облаштування робочого місця

Забудьте про складні інструкції. Мені найбільше підходить зв'язка Visual Studio Code + розширення для Solidity + Remix IDE для швидкого тестування. Не потрібно винаходити велосипед і встановлювати купу програм, як радять офіційні гайди.

Написання контракту — підводні камені

Коли пишеш контракт, головне пам'ятати — будь-яку твою помилку можуть використовувати для крадіжки грошей. Буквально будь-яку! Я сам наступав на ці граблі, коли забув перевірити переповнення в одній простій функції, і ледь не втратив велику суму.

Ось що я вам скажу — не довіряйте прикладам з документації. Вони часто містять небезпечний код, який у продакшн запускати категорично не можна. А різні корпоративні шаблони взагалі пишуться людьми, які іноді навіть не розуміють базових принципів роботи блокчейну.

Тестування — не економте на цьому

Перевірте все сто разів! Не вірте тим, хто каже «тестування можна зробити пізніше». У криптосвіті це шлях до втрати всього. Зазвичай я пишу тести ще до написання самого контракту, продумуючи різні сценарії атак.

Я бачив проєкти, які втрачали мільйони тільки тому, що розробники полінувалися протестувати всі граничні випадки або поспішили з випуском.

Деплой в мережу

Коли будете деплоїти контракт — не забудьте перевірити комісію. Іноді мережа перевантажена, і замість нормальної суми можна віддати ціле стан за деплой. Я одного разу ледь не надіслав транзакцію з комісією більше, ніж вартість самого проєкту.

І не довіряйте сліпо всяким популярним гаманцям — вони теж помиляються. Краще використовувати надійні інструменти, такі як hardhat або truffle.

Що далі?

Навіть після деплою потрібно моніторити контракт. Хакери не сплять, і кожен день знаходять нові вразливості. У цьому плані блокчейн безжальний — один раз задеплоїв з помилкою, і все, пиши пропало.

А взагалі, не думайте, що смартконтракти — це панацея. Більшість проектів у блокчейні — це гроші, викинуті на вітер. Але якщо ви робите щось варте — робіть це якісно.

Пам'ятайте: у блокчейні немає відкатів транзакцій і повернення грошей! Тут ви самі відповідаєте за свій код цілком і повністю.

Удачі з вашими контрактами! І так — не слухайте всіх цих "експертів" зі стажем у два тижні. Вчіться на чужих помилках, а не на своїх.

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • Прокоментувати
  • Репост
  • Поділіться
Прокоментувати
0/400
Немає коментарів
  • Закріпити