Skip to main content

Implementación de contrato en la cadena EVM de 5ire

5ire IDE

Nota: Para comenzar a usar el IDE de 5ire, los usuarios deben instalar y configurar su billetera. Dirígete a esta sección para comenzar a configurar tu billetera 5ire.

Paso 1: diríjase a la plataforma IDE de 5ire.

Paso 2: Vaya a Espacio de trabajo desde el menú del panel izquierdo y elija el icono Crear nuevo archivo.

5ire IDE Workspace

Paso 3: Cree un nuevo archivo en la carpeta de contratos con el nombre "5ire.sol"

5ire IDE Contract

  • Se generará un nuevo archivo y el panel principal aparecerá en blanco.

Nota: .sol es la extensión de los archivos Solidity.

Paso 4: escribir el código

  • Puede pegar su código existente en el panel principal del archivo 5ire.sol o cargar su archivo de contrato en el espacio de trabajo.

  • También puede usar el siguiente código ERC-20 de muestra:

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

Así es como aparecerá su pantalla después de pegar el código mencionado anteriormente:

5ire IDE sol

Paso 5: Compilación

  • Vaya al Compilador de Solidity desde el panel izquierdo.

  • Para compilar un contrato, seleccione el archivo deseado del Explorador de archivos o asegúrese de que el archivo deseado sea el activo en el Editor si hay varios archivos abiertos.

  • Si hay un archivo activo elegido en el explorador de archivos, entonces el compilador de solidez se verá así:

5ire IDE Solidity Config

  • Haga clic en Compilar 5ire.sol para compilar el archivo del contrato.

  • Después de una compilación exitosa, así es como se verá su pantalla:

5ire IDE Solidity Compiler

Paso 6: Implementación

  • Vaya a la barra lateral Implementar y ejecutar transacciones desde el panel izquierdo.

  • Para utilizar este módulo, es necesario tener un contrato compilado. Por lo tanto, si hay un nombre de contrato en el cuadro de selección CONTRATO (el cuadro de selección está debajo del campo de entrada VALOR), puede usar este módulo.

    • 5ire Provider: para conectar 5ire IDE a un proveedor web3 inyectado. El proveedor inyectado más común es MetaMask y la extensión 5ire Wallet.
    • Proveedor de Hardhat: Para conectar el IDE de 5ire a una cadena local de prueba de Hardhat.
    • Proveedor de Ganache: para conectar 5ire IDE a una cadena de prueba local de Truffle Ganache.

5ire IDE Deploy And Run

  • Haga clic en Implementar.

  • Confirme la transacción en la extensión Web3.

VÍDEO TUTORIAL:

  • Una vez confirmada la transacción, los detalles del despliegue, la dirección del contrato y la transacción, serán visibles en la terminal:

5ire IDE Code Output

Usando el Explorador

Paso 1: clonación del nodo 5ireChain

  • En su sistema, abra un shell de terminal.
  • Clone el repositorio de nodos firechain-evm-base ejecutando el siguiente comando:

HTTPS:

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

SSH:

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

Paso 2: Conexión al nodo

  • Si es necesario, abra un shell de terminal en su sistema local.
  • Cambie el directorio raíz donde compiló la base 5ire EVM.
  • Inicie el nodo en modo de desarrollo ejecutando el siguiente comando:
Cargo build –release

./target/release/firechain-node --dev (it will run the node in development mode.)

Nota: Cargo build compila el código.

La opción de línea de comandos --dev indica que el nodo está funcionando utilizando una especificación de cadena de desarrollo predefinida, que incluye una cuenta EVM designada para Alice, junto con otras cuentas configuradas específicamente para fines de prueba.

  • Puede verificar si su nodo está funcionando correctamente después de revisar el resultado que se muestra en la terminal.

El terminal debería mostrar una salida similar a esta:

Proof of 5ire

Proof of 5ire

  • Use la aplicación Polkadot-JS para conectarse al nodo local.

  • En la barra superior, haz clic en el menú desplegable del desarrollador.

  • Cree el contrato de token

    Nota: Para mayor comodidad, puede usar el código de bytes compilado del contrato de token en MyToken.json para implementar el contrato en la cadena EVM de 5ire.

  • Seleccione Extrínsecos.

  • Para enviar la transacción, seleccione una cuenta de desarrollo de cuenta financiada como cuenta.

  • Seleccione EVM (Ethereum Virtual Machine).

  • Elija la función de creación.

  • Configure los parámetros para la función.

For thisSpecify this
Source0xd43593c715fdd31c61141abd04a99fd6822c8558 (H160 Address of your Selected Account)
InitEnter the token raw bytecode
Value0
Gas Limit42949672
Max Fee Per Gas1000000
  • Los parámetros opcionales se pueden dejar vacíos. El valor de nonce aumentará el nonce conocido a los efectos de la cuenta de origen. Esto comienza desde 0x0. Dependiendo principalmente de la función seleccionada, deberá eliminar los parámetros no utilizados.

  • Presione enviar transacción. Esto iniciará el proceso de completar su transacción.

  • Para autorizar la transacción, haga clic en Enviar y firmar. Esto resultará en la finalización de la transacción.

Proof of 5ire

Remix IDE

Puede implementar un contrato inteligente en la cadena 5ire EVM usando Remix IDE a través de los siguientes pasos:

Paso 1: Para iniciar la transacción, visite este enlace.

Paso 2: En espacios de trabajo, haga clic en Crear nuevo archivo. Esto lo ayudará a crear un nuevo documento en el que puede comenzar a trabajar en la implementación de un contrato inteligente en la cadena EVM de 5ire.

Proof of 5ire

Paso 3: Crear un Nuevo Archivo bajo contratos con el nombre 5ire.sol. Esto lo ayudará a crear un nuevo programa a través del cual puede implementar un contrato inteligente en 5ire.

Proof of 5ire

Paso 4: copie y pegue el código que se proporciona a continuación en el archivo 5ire.sol.

Tenemos un código de muestra aquí para el token 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);
}
}

Así es como aparecerá su pantalla después de haber insertado el código mencionado anteriormente:

Proof of 5ire

Paso 5: Haga clic en Solidity Compiler y haga clic en compilar 5ire.sol.

Proof of 5ire

Proof of 5ire

Paso 6: Click on Deploy & Run Transactions to perform your desired transactions.

Proof of 5ire

Paso 7: Implementar el contrato 5ire.sol. Seleccione Web3 inyectado para implementar en la red en vivo. En este caso, hemos seleccionado MetaMask como proveedor inyectado.

Proof of 5ire

Paso 8: Confirme la transacción después de verificar los detalles. Debe ingresar la dirección de la billetera y la cantidad que se transferirá a la cuenta receptora.

Proof of 5ire

Paso 9: Con el fin de implementar transacciones en la Cadena EVM 5ire, confirme la tarifa de gas en MetaMask. La tarifa de gas es una pequeña tarifa de transacción que se utiliza para completar una transacción.

Proof of 5ire

Paso 10: Encuentre la dirección del contrato implementado en Remix y actualice el contrato interactuando con las funciones integradas.

Proof of 5ire

Ganache

Ganache es un entorno privado de cadena de bloques de Ethereum que le permite emular la cadena de bloques de Ethereum para interactuar con contratos inteligentes en una cadena de bloques privada. Puede ejecutar pruebas, ejecutar comandos e inspeccionar estados mientras controla el funcionamiento de la cadena.

Visita este enlace para descargar Ganache.

La siguiente guía lo guiará a través del proceso de implementación de un contrato inteligente usando Ganache:

Paso 1: Abra Remix IDE en su navegador y cree un nuevo archivo en la sección de contrato.

Ganache Step 1

Paso 2: use una de las plantillas de código de muestra y compile haciendo clic en el botón Compilar como se muestra a continuación.

Ganache Step 2

Paso 3: Después de la compilación, abra Ganache en su escritorio. Su pantalla se parecerá a la ilustración de abajo. Haga clic en QUICKSTART Ethereum.

Ganache Step 3

Paso 4: ahora verá 10 cuentas predeterminadas, junto con un mnemónico para su cadena de bloques en un servidor RPC local (HTTP://127.0.0.1:7545), como se muestra a continuación:

Ganache Step 4

Paso 5: Vuelva al navegador y muévase a la sección Implementar justo debajo de Compilar y seleccione Proveedor de Ganache del entorno como se muestra a continuación:

Ganache Step 5

Paso 6: ingrese el servidor HTTP://127.0.0.1:7545 como proveedor de Ganache. Su pantalla se verá como la imagen que se muestra a continuación:

Ganache Step 6

Paso 7: Su contrato ahora está listo para implementarse! Haga clic en el botón Implementar para continuar.

Ganache Step 7

Paso 8: Verifique la pestaña de salida para verificar si su contrato se implementó correctamente.

Ganache Step 8

Paso 9: Para verificar si su transacción (proceso) se reflejó con éxito en el servidor, abra Ganache y vaya a Transacciones. Aquí verá los detalles de su transacción como se muestra en la imagen a continuación:

Ganache Step 9

VÍDEO TUTORIAL:

Hardhat

Esta guía describe el proceso para implementar un contrato inteligente de EVM utilizando Hardhat, que se llevará a cabo en el IDE de EVM de 5ire.

Paso 1: Comience creando una carpeta de proyecto. Para esta guía, la carpeta del proyecto se titula “mkdir hardhat-tutorial”.

HardHat Step 1

Paso 2: Ejecute el comando npx hardhat.

Paso 3: El siguiente paso es seleccionar Crear un proyecto Javascript/Typescript cuando se le pregunte "¿Qué desea hacer?"

HardHat Step 3

Paso 4: agregue la raíz del proyecto hardhat creada al principio.

HardHat Step 4

Paso 5: Presione "Y" para completar el proceso.

HardHat Step 5

Paso 6: Al finalizar el proceso, la apariencia de su pantalla será como se muestra en la imagen a continuación.

HardHat Step 6

Paso 7: Abra Remix IDE y seleccione Implementar y ejecutar transacciones.

HardHat Step 7

Paso 8: seleccione el proveedor hardhat.

HardHat Step 8

Paso 9: verá el ID de la cadena y la lista de cuentas si se ha establecido la conexión.

HardHat Step 9

Paso 10: Ejecute el comando npx hardhat node. Luego mostrará una lista de 20 cuentas con un saldo de 10000 ETH.

HardHat Step 10

Paso 11: al hacer clic en Implementar, puede iniciar la implementación de un contrato inteligente específico y, si todo va bien, su transacción será exitosa.

HardHat Step 11

Paso 12: Puede verificar la finalización de su transacción revisando la terminal.

HardHat Step 12

VÍDEO TUTORIAL: