跳到主要内容

5ire EVM Chain

5ire IDE

注意:为了开始使用5ire IDE,用户必须设置和配置他们的钱包。前往本节,开始设置你的5ire钱包。

第1步: 进入5ire IDE平台.

第2步 从左面板菜单进入工作区,选择创建新文件图标.

5ire IDE Workspace

第3步:在合同文件夹下创建一个新文件,名称为 "5ire.sol"

5ire IDE Contract

  • 一个新的文件将被生成,而主面板将出现空白。

注意:.sol是Solidity文件的扩展名。

第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);
}
}

粘贴上述代码后,你的屏幕将出现这种情况:

5ire IDE sol

第5步: 编译

  • 从左侧面板转到 Solidity Compiler。

  • 要编译一个合同,要么从文件资源管理器中选择所需的文件,要么确保所需的文件是编辑器中的活动文件,如果有多个文件打开的话。

  • 如果在文件资源管理器中选择了一个活动文件,那么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

使用资源管理器

第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 (它将在开发模式下运行节点)。

注意:Cargo build编译了代码。

--dev命令行选项表示节点使用预定义的开发链规范运行,其中包括Alice的指定EVM账户,以及其他专门为测试目的设置的账户。

  • 在查看终端显示的输出后,你可以验证你的节点是否已经成功启动和运行。

终端应该显示与此类似的输出:

Proof of 5ire

Proof of 5ire

  • 使用Polkadot-JS应用程序来连接到本地节点。
  • 在顶栏中,点击开发者下拉菜单。

  • 创建代币合约。

    注意:为了方便,你可以使用MyToken.json中的代币合约的编译字节码,在5ire EVM链上部署合约。

  • 选择Extrinsics。

  • 对于提交交易,选择一个有资金的账户开发账户作为账户。

  • 选择EVM(Ethereum虚拟机)。

  • 选择创建函数。

  • 配置函数的参数。

For thisSpecify this
Source0xd43593c715fdd31c61141abd04a99fd6822c8558 (H160 Address of your Selected Account)
InitEnter the token raw bytecode
Value0
Gas Limit42949672
Max Fee Per Gas1000000
  • 可选参数可以留空。nonce值将增加已知的nonce,用于源账户的目的。这是从0x0开始的。主要取决于所选的功能,你将不得不删除未使用的参数。

  • 按提交交易。这将开始完成你的交易过程。

  • 要授权该交易,请点击提交并签名。这将导致交易的完成。

Proof of 5ire

Remix IDE

您可以通过以下步骤使用Remix IDE在5ire EVM链上部署一个智能合约:

第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中确认gas费用,在5ire EVM链上部署交易(gas费用是小额交易费,用于完成交易)。

Proof of 5ire

第十步: 在Remix中找到已部署的合同地址,并通过与综合功能互动来更新合同。

Proof of 5ire

Ganache

Ganache是一个私有的以太坊区块链环境,允许你模拟以太坊区块链,在私有区块链中与智能合约互动。它可以运行测试,执行命令,并检查状态,同时控制链的运行方式。

访问这个链接下载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.1:7545作为Ganache提供者。你的屏幕将看起来像下面显示的图像:

Ganache Step 6

第7步:你的合同现在已经准备好部署了! 点击 "部署 "按钮来继续。

Ganache Step 7

第8步:检查输出标签,以验证你的合同是否已成功部署。

Ganache Step 8

第9步:要验证您的交易(进程)是否成功地反映在服务器上,请打开Ganache并移动到交易。在这里,你会看到你的交易的细节,如下图所示:

Ganache Step 9

视频教程:

Hardhat

本指南概述了使用Hardhat部署EVM智能合约的过程,这将在5ire EVM IDE上进行。

第1步: 首先创建一个项目文件夹。在本指南中,项目文件夹的标题是 "mkdir hardhat-tutorial"。

HardHat Step 1

第2步:运行命令npx hardhat。

第3步:下一步是在提示 "你想做什么?"的问题时,选择创建一个Javascript/Typescript项目。

HardHat Step 3

第4步:添加在开始时创建的硬帽项目根。

HardHat Step 4

第5步:按 "Y "完成这一过程。

HardHat Step 5

第6步:完成这一过程后,你的屏幕外观将如下图所示。

HardHat Step 6

第7步:打开Remix IDE,选择部署和运行交易。

HardHat Step 7

第8步:选择硬帽供应商。

HardHat Step 8

第9步:如果连接已经建立,你会看到链ID和账户列表。

HardHat Step 9

第10步: 运行命令npx hardhat node。然后,它将显示一个余额为10000ETH的20个账户的列表。

HardHat Step 10

第11步:通过点击部署,你可以启动特定智能合约的部署,如果一切顺利,你的交易就会成功。

HardHat Step 11

第12步:你可以通过检查终端来验证你的交易是否完成

HardHat Step 12

视频教程: