Skip to main content

5ire EVM-сеть

5ire IDE

Примечание: Чтобы начать пользоваться 5ire IDE, пользователи должны установить и настроить свой кошелек. Перейдите к этому разделу, чтобы начать настройку кошелька 5ire.

Шаг 1: Перейдите к платформе 5ire IDE..

Шаг 2: Перейдите в Рабочее пространство из меню на левой панели и выберите иконку Создать новый файл.

5ire IDE Workspace

Шаг 3: Создайте новый файл в папке contracts с названием "5ire.sol"

5ire IDE Contract

  • Будет создан новый файл, а главная панель станет пустой.

Примечание: .sol - это расширение файлов Solidity.

Шаг 4: Написание кода

  • YВы можете вставить имеющийся код в главную панель файла 5ire.sol или загрузить файл контракта в рабочую область.

  • Вы также можете использовать приведенный ниже образец кода ERC-20:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;


// https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.0.0/contracts/token/ERC20/IERC20.sol
interface IERC20 {
function totalSupply() external view returns (uint);
function balanceOf(address account) external view returns (uint);
function transfer(address recipient, uint amount) external returns (bool);


function allowance(address owner, address spender) external view returns (uint);


function approve(address spender, uint amount) external returns (bool);


function transferFrom(
address sender,
address recipient,
uint amount
) external returns (bool);


event Transfer(address indexed from, address indexed to, uint value);
event Approval(address indexed owner, address indexed spender, uint value);
}


contract ERC20 is IERC20 {
uint public totalSupply;
mapping(address => uint) public balanceOf;
mapping(address => mapping(address => uint)) public allowance;
string public name = "Solidity by Example";
string public symbol = "SOLBYEX";
uint8 public decimals = 18;




function transfer(address recipient, uint amount) external returns (bool) {
balanceOf[msg.sender] -= amount;
balanceOf[recipient] += amount;
emit Transfer(msg.sender, recipient, amount);
return true;
}




function approve(address spender, uint amount) external returns (bool) {
allowance[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, amount);
return true;
}




function transferFrom(
address sender,
address recipient,
uint amount
) external returns (bool) {
allowance[sender][msg.sender] -= amount;
balanceOf[sender] -= amount;
balanceOf[recipient] += amount;
emit Transfer(sender, recipient, amount);
return true;
}




function mint(uint amount) external {
balanceOf[msg.sender] += amount;
totalSupply += amount;
emit Transfer(address(0), msg.sender, amount);
}




function burn(uint amount) external {
balanceOf[msg.sender] -= amount;
totalSupply -= amount;
emit Transfer(msg.sender, address(0), amount);
}
}

Вот как будет выглядеть ваш экран после вставки вышеупомянутого кода:

5ire IDE sol

Шаг 5: Компиляция

  • Перейдите к компилятору Solidity из левой панели.

  • Чтобы скомпилировать контракт, выберите нужный файл в проводнике файлов или убедитесь, что нужный файл активен в редакторе, если открыто несколько файлов.

  • Если в проводнике файлов выбран активный файл, то компилятор контрактов будет выглядеть следующим образом:

5ire IDE Solidity Config

  • Нажмите на кнопку Скомпилировать 5ire.sol, чтобы скомпилировать файл контракта.

  • После успешной компиляции ваш экран будет выглядеть так:

5ire IDE Solidity Compiler

Шаг 6: Развертывание

  • Перейдите на боковую панель Развертывание и запуск транзакций на левой панели.

  • Для того, чтобы использовать этот модуль, необходимо иметь скомпилированный контракт. Итак, если в поле выбора CONTRACT есть название контракта (поле выбора находится под полем ввода VALUE), вы можете использовать этот модуль.

    • Провайдер 5ire: Для подключения 5ire IDE к инжектируемому web3-провайдеру. Наиболее распространенными инжекторными провайдерами являются MetaMask и расширение 5ire Wallet.
    • Hardhat провайдер: Для подключения 5ire IDE к локальной тестовой цепочке Hardhat.
    • Ganache-провайдер: Для подключения 5ire IDE к локальной тестовой цепочке Truffle Ganache.

5ire IDE Deploy And Run

  • Нажмите на кнопку Развернуть.

  • Подтвердите транзакцию на расширении Web3.

Видеоурок:

  • После подтверждения транзакции в терминале появятся детали развертывания, адрес контракта и транзакция:

5ire IDE Code Output

Использование Explorer

Шаг 1: Клонирование узла 5ireChain

  • В вашей системе откройте оболочку терминала.
  • Клонируйте репозиторий узла firechain-evm-base, выполнив следующую команду:

HTTPS:

https://github.com/5ire-tech/5ire-evm-base.git

SSH:

[email protected]:5ire-tech/5ire-evm-base.git

Шаг 2: Подключение к узлу

  • При необходимости откройте оболочку терминала в вашей локальной системе.
  • Измените корневой каталог, куда вы скомпилировали базу 5ire EVM.
  • Запустите узел в режиме разработки, выполнив следующую команду:
Cargo build –release

./target/release/firechain-node --dev (это запустит узел в режиме разработки.)

Замечание: код компилируется с помощью грузовой сборки.

Параметр командной строки --dev указывает на то, что узел работает по предварительно определенной спецификации цепочки разработки, которая включает специальную учетную запись EVM для Alice, а также другие учетные записи, специально созданные для целей тестирования.

  • Вы можете проверить, успешно ли работает ваш узел, просмотрев данные, отображаемые в терминале.

Терминал должен выводить примерно такой результат:

Proof of 5ire

Proof of 5ire

  • Используйте приложение Polkadot-JS для подключения к локальному узлу.

  • В верхней панели нажмите на выпадающее меню разработчика.

  • Создайте контракт токена.

Примечание: Для удобства вы можете использовать скомпилированный байт-код контракта токена в MyToken.json для развертывания контракта в 5ire EVM Chain.

  • Выберите Extrinsics.

  • Для отправки транзакции выберите в качестве учетной записи накопительный счет для разработки.

  • Выберите EVM (виртуальная машина Ethereum).

  • Выберите функцию создания.

  • Настройте параметры функции.

Для этогоУкажите это
Источник0xd43593c715fdd31c61141abd04a99fd6822c8558 (H160 Адрес выбранного счета)
ИнитВведите необработанный байт-код токена
Стоимость0
Лимит газа42949672
Максимальная плата за газ1000000
  • Необязательные параметры можно оставить пустыми. Значение nonce увеличит известный nonce для целей учетной записи-источника. Это начинается с 0x0. В зависимости от выбранной функции вам придется удалить неиспользуемые параметры.

  • Нажмите "Отправить транзакцию". Это запустит процесс завершения вашей транзакции.

  • Чтобы авторизовать транзакцию, нажмите Отправить и подписать. Это приведет к завершению транзакции.

Proof of 5ire

Remix IDE

Вы можете развернуть смарт-контракт на цепочке 5ire EVM с помощью Remix IDE, выполнив следующие шаги:

Шаг 1: Чтобы инициировать транзакцию, перейдите по этой ссылке.

Шаг 2: Под рабочим пространством нажмите на кнопку "Создать новый файл". Это поможет вам создать новый документ, с которого вы сможете начать работу над развертыванием смарт-контракта в цепочке 5ire EVM.

Proof of 5ire

Шаг 3: Создайте новый файл под контрактами с именем 5ire.sol. Это поможет вам создать новое приложение, с помощью которого вы сможете развернуть смарт-контракт на 5ire.

Proof of 5ire

Шаг 4: Скопируйте и вставьте код, приведенный ниже, в файл 5ire.sol.

Здесь приведен пример кода для токена ERC-20:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;

// https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.0.0/contracts/token/ERC20/IERC20.sol
interface IERC20 {
function totalSupply() external view returns (uint);

function balanceOf(address account) external view returns (uint);

function transfer(address recipient, uint amount) external returns (bool);

function allowance(address owner, address spender) external view returns (uint);

function approve(address spender, uint amount) external returns (bool);

function transferFrom(
address sender,
address recipient,
uint amount
) external returns (bool);

event Transfer(address indexed from, address indexed to, uint value);
event Approval(address indexed owner, address indexed spender, uint value);
}



contract ERC20 is IERC20 {
uint public totalSupply;
mapping(address => uint) public balanceOf;
mapping(address => mapping(address => uint)) public allowance;
string public name = "Solidity by Example";
string public symbol = "SOLBYEX";
uint8 public decimals = 18;

function transfer(address recipient, uint amount) external returns (bool) {
balanceOf[msg.sender] -= amount;
balanceOf[recipient] += amount;
emit Transfer(msg.sender, recipient, amount);
return true;
}

function approve(address spender, uint amount) external returns (bool) {
allowance[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, amount);
return true;
}

function transferFrom(
address sender,
address recipient,
uint amount
) external returns (bool) {
allowance[sender][msg.sender] -= amount;
balanceOf[sender] -= amount;
balanceOf[recipient] += amount;
emit Transfer(sender, recipient, amount);
return true;
}

function mint(uint amount) external {
balanceOf[msg.sender] += amount;
totalSupply += amount;
emit Transfer(address(0), msg.sender, amount);
}

function burn(uint amount) external {
balanceOf[msg.sender] -= amount;
totalSupply -= amount;
emit Transfer(msg.sender, address(0), amount);
}
}

Вот так будет выглядеть ваш экран после того, как вы вставите вышеупомянутый код:

Proof of 5ire

Шаг 5: Щелкните Solidity Compiler и выберите компилятор 5ire.sol.

Proof of 5ire

Proof of 5ire

Шаг 6: Нажмите "Развернуть и запустить транзакции", чтобы выполнить желаемые транзакции.

Proof of 5ire

Шаг 7: Разверните контракт 5ire.sol. Выберите Injected Web3 для развертывания в реальной сети. В этом случае мы выбрали MetaMask в качестве инъекционного провайдера.

Proof of 5ire

Шаг 8: Подтвердите транзакцию после проверки деталей. Вам нужно ввести адрес кошелька, а также сумму, которая будет переведена на счет получателя.

Proof of 5ire

Шаг 9: Подтвердите газовую комиссию в MetaMask для развертывания транзакций в цепочке 5ire EVM (газовая комиссия - это небольшая комиссия за транзакцию, которая используется для завершения транзакции).

Proof of 5ire

Шаг 10: Найдите адрес развернутого контракта в Remix и обновите его, взаимодействуя с интегрированными функциями.

Proof of 5ire

Ganache

Ganache - это частная блокчейн-среда Ethereum, которая позволяет эмулировать блокчейн Ethereum для взаимодействия со смарт-контрактами в частной блокчейне. Она может запускать тесты, выполнять команды и проверять состояния, контролируя работу цепочки.

Чтобы скачать Ganache перейдите по этой ссылке to download Ganache.

В этом руководстве мы расскажем вам о процессе развертывания смарт-контракта с помощью Ganache:

Шаг 1: Откройте Remix IDE в браузере и создайте новый файл в разделе контрактов.

Ganache Step 1

Шаг 2: Воспользуйтесь одним из шаблонов кода и скомпилируйте его, нажав кнопку Скомпилировать, как показано ниже

Ganache Step 2

Шаг 3: После компиляции откройте Ganache на рабочем столе. Ваш экран будет похож на рисунок ниже. Нажмите на кнопку QUICKSTART Ethereum.

Ganache Step 3

Шаг 4: Теперь вы увидите 10 учетных записей по умолчанию, а также мнемонику для вашей блокчейна на локальном RPC-сервере (HTTP://127.0.0.1:7545), как показано ниже:

Ganache Step 4

Шаг 5: вернитесь в браузер и перейдите в раздел Развертывание сразу под Компиляция и выберите Ganache Провайдер из среды, как показано ниже:

Ganache Step 5

Шаг 6: введите сервер HTTP://127.0.0.0.1:7545 в качестве провайдера Ganache. Ваш экран будет выглядеть так, как показано ниже:

Ganache Step 6

Шаг 7: Ваш контракт готов к развертыванию! Нажмите на кнопку "Развернуть", чтобы продолжить.

Ganache Step 7

Шаг 8: Проверьте вкладку результатов, чтобы убедиться, что ваш контракт успешно развернут

Ganache Step 8

Шаг 9:Чтобы проверить, была ли ваша транзакция (процесс) успешно отображена на сервере, откройте Ganache и перейдите в раздел "Транзакции". Здесь вы увидите детали вашей транзакции, как показано на изображении ниже:

Ganache Step 9

Видеоурок:

Hardhat

В этом руководстве описывается процесс развертывания смарт-контракта EVM с помощью Hardhat, который будет осуществляться на 5ire EVM IDE.

Шаг 1: Начните с создания папки проекта. В этом руководстве папка проекта будет называться "mkdir hardhat-tutorial".

HardHat Step 1

Шаг 2: Запустите команду npx hardhat.

Шаг 3: Следующим шагом выберите пункт Создать проект Javascript/Typescript в ответ на вопрос "Что вы хотите сделать?".

HardHat Step 3

Шаг 4: Добавьте корень проекта hardhat, созданный в начале.

HardHat Step 4

Шаг 5: Нажмите "Y", чтобы завершить процесс.

HardHat Step 5

Шаг 6: После завершения процесса ваш экран будет выглядеть так, как показано на картинке ниже.

HardHat Step 6

Шаг 7: Откройте Remix IDE и выберите Развертывание и запуск транзакций.

HardHat Step 7

Шаг 8: Выберите Hardhat Provider.

HardHat Step 8

Шаг 9: Если соединение установлено, вы увидите идентификатор цепочки и список аккаунтов.

HardHat Step 9

Шаг 10: Запустите команду npx hardhat node. Она отобразит список из 20 аккаунтов с балансом 10000 ETH.

HardHat Step 10

Шаг 11: Нажав на кнопку "Развернуть", вы можете инициировать развертывание конкретного смарт-контракта, и если все пройдет хорошо, ваша транзакция будет успешной.

HardHat Step 11

Шаг 12: Вы можете проверить завершение транзакции, проверив терминал.

HardHat Step 12

Видеоурок: