Если вы только входите в Web3-разработку, первый шаг почти всегда один — написать простой смарт-контракт на Solidity. Классический вариант — `Hello World`. Ниже разберём, как это работает и что важно понять с самого начала.
Что такое смарт-контракт?
Смарт-контракт — это программа в блокчейне, которая выполняется по заданным правилам без посредников. После деплоя код нельзя просто “отредактировать”, поэтому даже базовые вещи важно писать аккуратно.
Пример простого контракта на Solidity 👇
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
contract HelloWorld {
string public message = "Hello World";
}
Что здесь происходит:
- `SPDX-License-Identifier` — указывает лицензию кода.
- `pragma solidity ^0.8.20;` — версия компилятора Solidity.
- `contract HelloWorld` — объявление контракта.
- `string public message` — строковая переменная, доступная публично.
- `"Hello World"` — значение, которое хранится в блокчейне.
Главный момент: слово `public` автоматически создаёт функцию чтения. Это значит, что после деплоя можно получить значение `message` без написания отдельного метода.
Как запустить пошагово 🛠️
- Откройте Remix IDE — это самый простой онлайн-редактор для Solidity.
- Создайте файл `HelloWorld.sol`.
- Вставьте код контракта.
- Перейдите во вкладку Solidity Compiler и нажмите Compile.
- Затем откройте Deploy & Run Transactions.
- Выберите среду `Remix VM`, если хотите протестировать всё локально без реальных средств.
- Нажмите Deploy.
- После деплоя раскройте контракт ниже и вызовите `message` — увидите `Hello World`.
Что важно понять новичку 📌
- Чтение данных из контракта не меняет состояние блокчейна.
- Изменение данных требует отдельной функции и обычно связано с газом.
- Даже простой контракт уже хранит информацию в сети и может быть вызван извне.
- Solidity чувствителен к версии компилятора — всегда проверяйте `pragma`.
Как сделать следующий шаг
Чтобы контракт стал полезнее, обычно добавляют функцию изменения сообщения:
function setMessage(string memory _message) public {
message = _message;
}
Теперь контракт сможет не только хранить `Hello World`, но и обновлять текст. Это уже базовое понимание работы со state-переменными и транзакциями.
Зачем начинать именно с Hello World? 🌐
Потому что на этом примере быстро становятся понятны фундаментальные вещи: структура контракта, деплой, хранение данных, чтение переменных и логика работы блокчейна. Это база перед ERC-20, NFT и DeFi-протоколами.
Подборку каналов про криптовалюты, Web3 и блокчейн-разработку можно посмотреть ниже — там много полезного для новичков и практиков 📊