Dans ce tutoriel, nous allons créer une blockchain privée ou publique inspirée d'Ethereum. Nous allons utiliser des outils tels que Geth (Go Ethereum) pour configurer la blockchain, créer des nœuds, et l'intégrer à des portefeuilles comme MetaMask. Ce processus est applicable à une blockchain publique ou privée en fonction de la configuration.
Geth (Go Ethereum) est le client le plus populaire pour la gestion d'un réseau Ethereum. Il permet de créer des blockchains publiques ou privées.
sudo apt install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt update
sudo apt install geth
brew tap ethereum/ethereum
brew install ethereum
Téléchargez le binaire depuis le site officiel de Geth : https://geth.ethereum.org/downloads/
Après l'installation, vérifiez que Geth fonctionne correctement avec la commande suivante :
geth version
Le fichier Genesis définit les paramètres de votre blockchain (réseau privé ou public). Voici un exemple de fichier Genesis :
{
"config": {
"chainId": 2029,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},
"difficulty": "0x20000",
"gasLimit": "0x2fefd8",
"alloc": {
"0xYourAccountAddress": { "balance": "100000000000000000000" }
}
}
0xYourAccountAddress
par l'adresse publique que vous souhaitez préfinancer.Une fois que vous avez créé votre fichier genesis.json
, initialisez votre blockchain avec la commande suivante :
geth --datadir ./myBlockchain init genesis.json
Pour démarrer le nœud sur votre blockchain, exécutez la commande suivante :
geth --datadir ./myBlockchain --networkid 2029 --http --http.addr "0.0.0.0" --http.port 8545 --http.api eth,net,web3,personal --ipcdisable --allow-insecure-unlock console
chainId
que dans votre fichier Genesis).Depuis la console de Geth, vous pouvez créer un nouveau compte avec la commande suivante :
personal.newAccount()
Suivez les instructions pour définir un mot de passe. Vous recevrez une adresse Ethereum pour ce compte.
Pour commencer à miner sur votre blockchain (ce qui génère des nouveaux blocs et récompense le compte du mineur), utilisez la commande suivante :
miner.start()
Vous pouvez vérifier votre balance avec :
eth.getBalance("0xYourAccountAddress")
MetaMask est un portefeuille populaire qui permet d'interagir avec la blockchain Ethereum directement depuis le navigateur. Nous allons maintenant intégrer notre blockchain à MetaMask.
http://localhost:8545
(ou l'URL de votre nœud si c'est une blockchain publique).chainId
de votre fichier Genesis).Une fois le réseau ajouté à MetaMask, vous pouvez vous connecter à votre compte Ethereum personnel. Utilisez la clé privée du compte créé précédemment dans Geth pour importer ce compte dans MetaMask.
Remix est un IDE en ligne qui permet de développer et déployer des contrats intelligents sur la blockchain Ethereum.
pragma solidity ^0.8.0;
contract SimpleStorage {
uint storedData;
function set(uint x) public {
storedData = x;
}
function get() public view returns (uint) {
return storedData;
}
}
Vous avez maintenant créé une blockchain privée ou publique inspirée d'Ethereum, configuré des nœuds, ajouté votre réseau à MetaMask, et déployé un contrat intelligent. Ce processus constitue une base solide pour comprendre le fonctionnement des blockchains et leur interaction avec des portefeuilles comme MetaMask.