Введение
Мир блокчейна и смарт-контрактов стремительно эволюционирует. Если в 2021 году доминировал исключительно Ethereum и Solidity, то к середине 2026 года ландшафт стал многополярным: Solana с Rust, StarkNet с Cairo, а также Vyper для сверхбезопасных контрактов на Ethereum. По данным отчёта Electric Capital за 2025 год, количество активных разработчиков в Web3 превысило 30 000 человек, причём 40% из них работают с несколькими языками одновременно. Однако написание безопасного и эффективного кода остаётся нетривиальной задачей: по статистике Rekt News, за 2025 год из-за ошибок в смарт-контрактах было потеряно более $1,2 млрд.
Здесь на помощь приходят промты — готовые инструкции для AI-ассистентов (например, ChatGPT, Claude или Gemini), которые позволяют генерировать, аудировать и оптимизировать код. В этой статье я собрал 10 конкретных промтов для Solidity, Rust и Vyper, которые помогут вам писать смарт-контракты быстрее, безопаснее и эффективнее. Каждый промт сопровождается пояснением и примером использования. Поехали!
1. Генерация базового смарт-контракта на Solidity (ERC-20)
Для чего: Создать стандартный токен ERC-20 с функциями mint, burn и transfer. Это основа для любого DeFi-проекта.
Промт:
Напиши смарт-контракт на Solidity версии 0.8.20, реализующий стандарт ERC-20 с использованием библиотеки OpenZeppelin v5.0. Контракт должен иметь:
- имя токена: "MyToken"
- символ: "MTK"
- начальный supply: 1 000 000 токенов (18 decimals)
- функцию mint(address to, uint256 amount) только для владельца (owner)
- функцию burn(uint256 amount) для любого пользователя
- событие (event) при каждом mint и burn
Добавь комментарии на русском языке к ключевым строкам.
Пример использования:
После выполнения промта AI вернёт код контракта. Вы можете скопировать его в Remix IDE или Hardhat, задеплоить на тестовую сеть Sepolia и проверить функции через Etherscan. Это экономит 20–30 минут ручного написания.
2. Аудит безопасности смарт-контракта на Solidity
Для чего: Выявить уязвимости в уже написанном контракте. По данным OpenZeppelin, 70% взломов связаны с reentrancy, oracle manipulation и неправильной проверкой прав доступа.
Промт:
Проведи аудит безопасности следующего смарт-контракта на Solidity. Найди:
- уязвимости reentrancy
- ошибки в модификаторах доступа
- проблемы с переполнением (overflow/underflow)
- неоптимальные места по газу
Предложи исправления для каждого найденного бага. Вот код: [вставьте код контракта]
Пример использования:
Вы только что написали контракт для стейкинга. Вставляете его в промт — AI находит, что функция withdraw не защищена от reentrancy (отсутствует ReentrancyGuard). Вы добавляете модификатор nonReentrant — и взлом предотвращён.
3. Оптимизация газа для Solidity-контракта
Для чего: Снизить стоимость транзакций. В 2026 году средняя цена газа на Ethereum составляет 15–30 gwei, но сложные контракты могут стоить $50–100 за вызов.
Промт:
Оптимизируй следующий Solidity-контракт для уменьшения газовых затрат. Используй:
- замена require на пользовательские ошибки (custom errors)
- использование unchecked для арифметики, где переполнение невозможно
- упаковка переменных в struct для экономии storage
- замена public переменных на private с getter-функциями, если это уместно
Вот код: [вставьте код]
Пример использования:
После оптимизации контракта для NFT-маркетплейса газ на mint снизился с 120 000 до 85 000 единиц — экономия 30%.
4. Генерация смарт-контракта на Rust (Solana)
Для чего: Написать программу для Solana, используя Anchor Framework — стандарт де-факто для Rust-разработки на Solana (более 90% новых проектов используют Anchor, по данным Solana Foundation).
Промт:
Напиши программу на Rust с использованием Anchor 0.30 для Solana, которая реализует простой vault:
- функция initialize: создаёт аккаунт vault с владельцем
- функция deposit: переводит SOL на vault
- функция withdraw: только владелец может вывести SOL
- используй PDA (Program Derived Address) для адреса vault
Добавь тесты на TypeScript с помощью @solana/web3.js и @coral-xyz/anchor.
Пример использования:
Этот промт генерирует полноценный Anchor-проект с типами и тестами. Вы можете сразу запустить anchor test в локальной среде.
5. Миграция с Solidity на Vyper
Для чего: Vyper считается более безопасным, чем Solidity, за счёт меньшего количества синтаксических возможностей (нет перегрузки функций, нет модификаторов). Однако миграция требует усилий.
Промт:
Перепиши следующий Solidity-контракт на Vyper 0.4.0. Учти:
- в Vyper нет модификаторов — используй guards (проверки внутри функции)
- нет наследования — вынеси общую логику в отдельные контракты
- используй event вместо emit
- замени uint256 на uint256 (в Vyper это uint256)
Вот код Solidity: [вставьте код]
Пример использования:
Вы переписываете контракт простого аукциона с Solidity на Vyper. AI автоматически заменяет modifier onlyOwner на assert(msg.sender == owner) и убирает перегрузки.
6. Написание тестов для смарт-контракта (Foundry + Solidity)
Для чего: Тестирование — критический этап. По данным Trail of Bits, 80% уязвимостей можно найти на этапе unit-тестов.
Промт:
Напиши набор тестов на Solidity с использованием Foundry (forge) для ERC-20 токена. Тесты должны покрывать:
- успешный transfer
- transfer с недостаточным балансом (revert)
- mint только от owner
- burn со сжиганием токенов
- событие Transfer при переводе
Используй vm.prank и vm.expectRevert для эмуляции различных ролей.
Пример использования:
AI генерирует файл .t.sol, который вы помещаете в папку test/ и запускаете forge test. Покрытие кода тестами достигает 95%.
7. Создание смарт-контракта для NFT (ERC-721) с метаданными
Для чего: Написать контракт для NFT-коллекции с функциями mint, burn и раскрытием метаданных.
Промт:
Создай контракт на Solidity 0.8.20 для ERC-721 с использованием OpenZeppelin v5.0. Контракт должен:
- иметь имя "MyNFT" и символ "MNFT"
- поддерживать ERC721URIStorage для хранения URI каждого токена
- иметь функцию mint(address to, uint256 tokenId, string memory uri) только для owner
- иметь функцию burn(uint256 tokenId) для владельца токена
- использовать Ownable для управления правами
Добавь комментарии на русском.
Пример использования:
Вы запускаете NFT-коллекцию на OpenSea. Контракт сразу совместим с их стандартом.
8. Интеграция Chainlink Oracle в смарт-контракт
Для чего: Получать внешние данные (цены, погода, спорт) в блокчейн. Chainlink — самый популярный оракул, используемый в 90% DeFi-проектов (источник: Chainlink Blog, 2025).
Промт:
Напиши Solidity-контракт, который получает цену ETH/USD через Chainlink AggregatorV3Interface на сети Sepolia. Контракт должен:
- иметь функцию getLatestPrice() returns (int256)
- возвращать цену с 8 десятичными знаками
- использовать адрес агрегатора: 0x... (укажи актуальный для Sepolia)
- быть защищён от переполнения через SafeMath (OpenZeppelin)
Пример использования:
Вы создаёте DeFi-протокол, который требует цену ETH для ликвидаций. Контракт получает цену с задержкой менее 1 секунды.
9. Оптимизация программы на Rust (Solana) для уменьшения compute units
Для чего: Каждая транзакция на Solana имеет лимит compute units. Превышение ведёт к отказу.
Промт:
Оптимизируй следующую Anchor-программу на Rust для уменьшения compute units. Используй:
- замена циклов на batch processing
- минимизация cross-program invocation (CPI)
- использование u32 вместо u64, где возможно
- сокращение количества аккаунтов в accounts macro
Вот код: [вставьте код]
Пример использования:
После оптимизации compute units снизились с 200 000 до 140 000 — транзакции проходят быстрее и дешевле.
10. Генерация документации для смарт-контракта (NatSpec)
Для чего: Хорошая документация — залог поддержки проекта. NatSpec — стандарт для Solidity.
Промт:
Добавь NatSpec-комментарии (формат ///) ко всем функциям и модификаторам в следующем Solidity-контракте. Для каждой функции укажи:
- @title (краткое описание)
- @param для каждого параметра
- @return для возвращаемых значений
- @dev для разработчика (например, требования к gas)
Вот код: [вставьте код]
Пример использования:
После выполнения промта контракт готов к публикации на Etherscan с читаемой документацией.
Сравнительная таблица языков для смарт-контрактов (2026)
| Характеристика | Solidity (Ethereum) | Rust (Solana) | Vyper (Ethereum) |
|---|---|---|---|
| Популярность | 75% всех контрактов | 20% (быстрый рост) | 5% (нишевый) |
| Средняя стоимость транзакции | $5–50 | $0.0001–0.01 | $5–50 |
| Скорость выполнения | ~15 TPS (L1) | ~4000 TPS | ~15 TPS (L1) |
| Безопасность | Средняя (требуется аудит) | Высокая (система типов) | Очень высокая (минимализм) |
| Основные уязвимости | Reentrancy, переполнение | Ошибки с аккаунтами, CPI | Отсутствие гибкости |
| Инструменты | Hardhat, Foundry, Remix | Anchor, Solana CLI | Brownie, Ape |
Заключение
Промты — это не замена опыту, а мощный ускоритель. Они позволяют сфокусироваться на архитектуре, а не на синтаксисе. Однако помните: любой сгенерированный код должен быть проверен вручную. По данным CertiK, в 2025 году 15% уязвимостей были внесены именно AI-генерацией из-за неверной интерпретации контекста. Используйте промты как черновик, а не финальный продукт.
Начните с малого: выберите один промт из списка, запустите его в своём AI-ассистенте, протестируйте на тестовой сети — и вы увидите, как разработка ускоряется в 2–3 раза. Удачи в Web3!
Комментарии