5ire catena EVM
5ire IDE
Nota: Per iniziare a utilizzare l'IDE di 5ire, gli utenti devono configurare il proprio portafoglio. Vai a questa sezione per iniziare a configurare il tuo portafoglio 5ire.
Passaggio 1: Vai alla piattaforma 5ire IDE Platform.
Passaggio 2: Vai alla sezione Workspace dal menu a sinistra e scegli l'icona Crea Nuovo File.
Passaggio 3: Crea un nuovo file sotto la cartella contracts con il nome "5ire.sol".
- Verrà generato un nuovo file e il pannello principale apparirà vuoto.
Nota: .sol è l'estensione dei file Solidity.
Passaggio 4: Scrittura del codice
Puoi incollare il tuo codice esistente nel pannello principale del file 5ire.sol o caricare il tuo file di contratto nel Workspace.
Puoi anche utilizzare il seguente codice di esempio 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);
}
}
Ecco come apparirà la tua schermata dopo aver incollato il codice menzionato sopra:
Passaggio 5: Compilazione
Vai al compilatore Solidity dal menu a sinistra.
Per compilare un contratto, seleziona il file desiderato dall'Esplora file o assicurati che il file desiderato sia attivo nell'Editor se sono aperti più file.
Se c'è un file attivo scelto nell'Esplora file, il compilatore Solidity apparirà così:
Fai clic su Compila 5ire.sol per compilare il file del contratto.
Dopo la compilazione riuscita, ecco come apparirà la tua schermata:
Passaggio 6: Deployment
Vai alla barra laterale Deploy & Run Transactions dal menu a sinistra.
Per utilizzare questo modulo, è necessario avere un contratto compilato. Pertanto, se c'è un nome di contratto nella casella di selezione CONTRACT (la casella di selezione è sotto il campo di input VALUE), puoi utilizzare questo modulo.
- 5ire Provider: Per collegare 5ire IDE a un provider web3 iniettato. Il provider iniettato più comune è MetaMask e l'estensione 5ire Wallet.
- Hardhat Provider: Per collegare 5ire IDE a una catena di test Hardhat locale.
- Ganache Provider: Per collegare 5ire IDE a una catena di test Truffle Ganache locale.
- Fai clic su Deploy.
- Conferma la transazione sull'estensione Web3.
Video Tutorial:
- Una volta confermata la transazione, i dettagli di deploy, l'indirizzo del contratto e la transazione saranno visibili nel terminale:
Utilizzo di Explorer
Passaggio 1: Clonare il nodo 5ireChain
- Sul tuo sistema, apri una shell del terminale.
- Clona il repository del nodo firechain-evm-base eseguendo il seguente comando:
HTTPS:
https://github.com/5ire-tech/5ire-evm-base.git
SSH:
[email protected]:5ire-tech/5ire-evm-base.git
Passaggio 2: Connettersi al nodo
- Se necessario, apri una shell del terminale sul tuo sistema locale.
- Cambia la directory radice dove hai compilato il 5ire EVM base.
- Avvia il nodo in modalità di sviluppo eseguendo il seguente comando:
Cargo build –release
./target/release/firechain-node --dev
(it will run the node in development mode.)
Nota: Cargo build compila il codice.
L'opzione della riga di comando --dev indica che il nodo sta operando utilizzando una specifica di catena di sviluppo predefinita, che include un account EVM designato per Alice, insieme ad altri account appositamente configurati per scopi di testing.
- Puoi verificare se il tuo nodo è in esecuzione con successo dopo aver esaminato l'output visualizzato nella shell del terminale.
La shell del terminale dovrebbe visualizzare un output simile a questo:
Utilizza l'applicazione Polkadot-JS per connetterti al nodo locale.
Nella barra superiore, fai clic sul menu a discesa sviluppatore.
Crea il contratto token.
Nota: Per comodità, puoi utilizzare il bytecode compilato del contratto token in MyToken.json per distribuire il contratto sulla 5ire EVM Chain.
Seleziona Estrinsechi.
Per inviare la transazione, seleziona un account finanziato account di sviluppo come account.
Seleziona EVM (Ethereum Virtual Machine).
Scegli la funzione create.
Configura i parametri per la funzione.
Per questo | Specify this |
---|---|
Origine | 0xd43593c715fdd31c61141abd04a99fd6822c8558 (Indirizzo H160 del tuo account selezionato) |
Init | Inserisci il bytecode grezzo del token |
Valore | 0 |
Limite di gas | 42949672 |
Massimo costo per gas | 1000000 |
I parametri opzionali possono essere lasciati vuoti. Il valore del nonce aumenterà il nonce conosciuto per l'account sorgente. Questo inizia da 0x0. In base principalmente alla funzione selezionata, dovrai rimuovere i parametri non utilizzati.
Premi invia transazione. Questo avvierà il processo di completamento della tua transazione.
Per autorizzare la transazione, fai clic su Invia e firma. Ciò comporterà il completamento della transazione.
Remix IDE
È possibile implementare un contratto intelligente sulla 5ire EVM chain usando Remix IDE attraverso i seguenti passaggi:
Passaggio 1: Per avviare la transazione, visitare questo link.
Passaggio 2: Sotto Workspaces, fare clic su Create New File. Ciò vi aiuterà a creare un nuovo documento su cui potrete lavorare per implementare un contratto intelligente su 5ire.
Passaggio 3: Creare un nuovo file sotto Contracts con il nome 5ire.sol. Ciò vi aiuterà a creare un nuovo programma attraverso il quale potrete implementare un contratto intelligente su 5ire.
Passaggio 4: Copiare e incollare il codice fornito di seguito nel file 5ire.sol.
Abbiamo un codice di esempio qui per il 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);
}
}
Ecco come apparirà la schermata dopo aver inserito il codice sopra menzionato:
Passaggio 5: Fare clic su Solidity Compiler e fare clic su Compile 5ire.sol.
Passaggio 6: Fare clic su Deploy & Run Transactions per eseguire le transazioni desiderate.
Passaggio 7: Implementare il contratto 5ire.sol. Selezionare Injected Web3 per l'implementazione nella rete live. In questo caso, abbiamo selezionato MetaMask come provider injectable.
Passaggio 8: Confermare la transazione dopo aver verificato i dettagli. Dovrete inserire l'indirizzo del portafoglio così come l'importo che sarà trasferito all'account destinatario.
Passaggio 9: Confermare la tariffa del gas in MetaMask per l'implementazione delle transazioni sulla 5ire EVM chain (la tariffa del gas è una piccola tariffa di transazione che viene utilizzata per completare una transazione).
Passaggio 10: Trovare l'indirizzo del contratto implementato in Remix e aggiornare il contratto interagendo con le funzioni integrate.
Ganache
Ganache è un ambiente blockchain Ethereum privato che consente di emulare la blockchain Ethereum per interagire con smart contract in una blockchain privata. Può eseguire test, eseguire comandi e ispezionare stati controllando come la catena opera.
VVisita questo link per scaricare Ganache.
La seguente guida ti guiderà attraverso il processo di distribuzione di un smart contract utilizzando Ganache:
Passaggio 1: Apri Remix IDE nel tuo browser e crea un nuovo file nella sezione dei contratti.
Passaggio 2: Utilizza uno dei modelli di codice campione e compila facendo clic sul pulsante Compile come mostrato di seguito.
Passaggio 3: Dopo la compilazione, apri Ganache sul tuo desktop. Il tuo display assomiglierà all'illustrazione di seguito. Fai clic su QUICKSTART Ethereum.
Passaggio 4: Vedrai ora 10 account predefiniti, insieme a un mnemonico per la tua blockchain su un server RPC locale (HTTP://127.0.0.1:7545) come mostrato di seguito:
Passaggio 5: Torna al browser e passa alla sezione Deploy appena sotto Compile e seleziona Ganache Provider dall'ambiente come mostrato di seguito:
Passaggio 6: Inserisci il server HTTP://127.0.0.1:7545 come Ganache Provider. La tua schermata assomiglierà all'immagine mostrata di seguito:
Passaggio 7: Il tuo contratto è ora pronto per essere distribuito! Fai clic sul pulsante Deploy per procedere.
Passaggio 8: Controlla la scheda di output per verificare se il tuo contratto è stato distribuito con successo.
Passaggio 9: Per verificare se la tua transazione (processo) è stata riflessa con successo sul server, apri Ganache e vai a Transazioni. Qui vedrai i dettagli della tua transazione come mostrato nell'immagine di seguito:
Video Tutorial:
Hardhat
Questa guida illustra il processo per il deploy di un contratto EVM Smart utilizzando Hardhat, che verrà eseguito su 5ire EVM IDE.
Passaggio 1: Inizia creando una cartella di progetto. Per questa guida, la cartella di progetto si intitola "mkdir hardhat-tutorial"
Passaggio 2: Esegui il comando npx hardhat
.
Passaggio 3: Il passaggio successivo è selezionare "Create a Javascript/Typescript project" quando viene richiesto dalla domanda "What do you want to do?"
Passaggio 4: Aggiungi la radice del progetto hardhat creata all'inizio.
Passaggio 5: Premi "Y" per completare il processo.
Passaggio 6: Al termine del processo, l'aspetto del tuo schermo sarà come mostrato nell'immagine sottostante.
Passaggio 7: Apri Remix IDE e seleziona Deploy and Run Transactions.
Passaggio 8: Seleziona Hardhat Provider.
Passaggio 9: Vedrai l'ID della catena e l'elenco degli account se la connessione è stata stabilita.
Passaggio 10: Esegui il comando npx hardhat node
. Visualizzerai quindi un elenco di 20 account con un saldo di 10000 ETH.
Passaggio 11: Cliccando su Deploy, puoi avviare il deploy di un contratto intelligente specifico e se tutto va bene, la tua transazione sarà riuscita.
Passaggio 12: Puoi verificare il completamento della tua transazione controllando il terminale.
Video Tutorial: