Remix IDE — быстрый старт
Как написать, скомпилировать, задеплоить и вызвать первый Solidity-контракт прямо в браузере через Remix IDE.
Когда использовать Remix
Remix IDE — это браузерная среда для Solidity. Она подходит, когда нужно быстро проверить контракт без установки Node.js, Hardhat или Foundry.
В Remix можно написать контракт, скомпилировать его, задеплоить в локальную Remix VM и сразу вызвать функции через UI.
Открываем Remix
Перейдите на https://remix.ethereum.org.
В левой панели откройте File Explorer, создайте файл contracts/Note.sol и вставьте код:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
contract Note {
string private text;
address public owner;
event TextChanged(address indexed author, string newText);
constructor(string memory initialText) {
owner = msg.sender;
text = initialText;
}
function read() external view returns (string memory) {
return text;
}
function write(string calldata newText) external {
require(msg.sender == owner, unicode"Только владелец может менять текст");
text = newText;
emit TextChanged(msg.sender, newText);
}
}Этот контракт хранит одну строку и разрешает менять её только адресу, который задеплоил контракт.
Компилируем контракт
Откройте вкладку Solidity Compiler.
Выберите версию компилятора 0.8.20 или новее и нажмите Compile Note.sol. Быстрый вариант — оставить файл активным в редакторе и нажать Ctrl + S.
Если компиляция прошла успешно, Remix создаст ABI и bytecode. Они нужны для деплоя и вызова функций.
Деплоим в Remix VM
Откройте вкладку Deploy & Run Transactions.
В поле Environment выберите Remix VM. Это локальная блокчейн-сеть прямо в браузере: транзакции проходят сразу и не требуют MetaMask.
В поле Contract выберите Note. Рядом с кнопкой Deploy укажите аргумент конструктора:
"Первая заметка"Нажмите Deploy.
После деплоя контракт появится в блоке Deployed Contracts. У него будет адрес, кнопки функций и история вызовов в терминале Remix.
Вызываем функции
Раскройте задеплоенный Note в Deployed Contracts.
Нажмите read. Remix выполнит view-вызов без транзакции и покажет строку:
Первая заметкаВ поле рядом с write введите:
"Текст изменён через Remix"Нажмите write. Это уже транзакция: Remix VM изменит состояние контракта. После этого снова нажмите read и проверьте новое значение.
Как это работает
Remix VM — локальная EVM в браузере. Она не сохраняет состояние навсегда и подходит для быстрых экспериментов.
Solidity Compiler — компилирует .sol файл в ABI и bytecode.
Deploy & Run Transactions — отправляет транзакции в выбранную среду: Remix VM, MetaMask через Injected Provider или локальный узел.
constructor() — получает "Первая заметка" при деплое и записывает её в storage.
read() — читает storage без gas, потому что функция помечена как view.
write() — меняет storage, поэтому это транзакция.
require(msg.sender == owner, ...) — запрещает менять текст всем, кроме deployer-адреса.
Remix VM vs Injected Provider
| Environment | Когда использовать |
|---|---|
| Remix VM | Быстро проверить контракт без кошелька и реальной сети |
| Injected Provider | Подключить MetaMask и деплоить в testnet или mainnet |
| Hardhat Provider | Подключиться к локальному npx hardhat node |
| Foundry Provider | Подключиться к локальному anvil |
Для первого запуска выбирайте Remix VM. Она не требует ETH, RPC URL и подтверждения транзакций в кошельке.
Частые ошибки
Контракт не появился в списке Contract → убедитесь, что активен файл Note.sol и компиляция прошла без ошибок.
Deploy требует аргумент конструктора → передайте строку в кавычках: "Первая заметка".
write отклоняет вызов → выберите в поле Account тот же адрес Remix VM, который деплоил контракт.
Что дальше
- Первый контракт — написать и задеплоить — повторить тот же цикл в Hardhat-проекте
- Hardhat — основные команды — перейти от браузерного IDE к локальной разработке
- EOA vs Contract Account — понять, почему Remix VM аккаунт может подписывать транзакции, а контракт нет