китаев.tech

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 и вставьте код:

solidity
// 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 укажите аргумент конструктора:

text
"Первая заметка"

Нажмите Deploy.

После деплоя контракт появится в блоке Deployed Contracts. У него будет адрес, кнопки функций и история вызовов в терминале Remix.


Вызываем функции

Раскройте задеплоенный Note в Deployed Contracts.

Нажмите read. Remix выполнит view-вызов без транзакции и покажет строку:

text
Первая заметка

В поле рядом с write введите:

text
"Текст изменён через 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, который деплоил контракт.


Что дальше

Материалы китаev.tech публикуются в образовательных целях и не являются инвестиционной рекомендацией. Примеры кода и описания протоколов — для обучения; использование в продакшне на ваш собственный риск. Дисклеймер и политика конфиденциальности.