TUTO [FR] — How to deploy a private Ethereum Blockchain with smartcontracts on a Unix env

Namek
Namek
Oct 24, 2018 · 2 min read

Installer ethereum et geth sur votre machine via apt-get ou autre en fonction de votre version de ubuntu.

Créer un fichier genesis.json : https://medium.com/taipei-ethereum-meetup/beginners-guide-to-ethereum-3-explain-the-genesis-file-and-use-it-to-customize-your-blockchain-552eb6265145

Dans le même directory que genesis.json, lancer la commande :

geth init genesis.json --datadir bc

Vous avez créé votre blockchain ethereum.


Lancer la commande :

geth --datadir bc --rpcport 8545 --rpc console

Dans la console geth entrer la commande:

personal.newAccount(‘000000’)

Vous obtenez quelque chose comme : “0x5423523…” ; Garder cette adresse*

miner.setEtherbase(eth.accounts[0])
personal.unlockAccount(eth.accounts[0] , '000000', 0)
miner.start()

Attendez un moment le temps que ça mine, puis

miner.stop()

Ouvrez un autre terminal et aller sur le même directory.

Installer truffle puis lancer les commandes :

mkdir tr_
cd tr_
truffle init

truffle s’initialise… puis modifier le fichier truffle.js par ce qui suit, sans oublier de remplacer <ADDRESS> par l’adresse obtenue avant plus haut* :

module.exports = {
rpc: {
host:"localhost",
port:8545
},
networks: {
development: {
host: "localhost", //our network is running on localhost
port: 8545, // port where your blockchain is running
network_id: "*",
from: "<ADDRESS>", // use the account-id generated during the setup process
gas: 5000000
}
}
};

Ajouter votre smartcontract dans le dossier “contracts”

Appelons le myContract.sol, il sera comme suit :

pragma solidity ^0.4.15;// la fonction constructor met la string "42" dans message, nous 
// irons chercher la valeur de message pour afficher "42" lors du
// test
contract myContract {
string public message;

function myContract() {
message = “42”;
}
}

Dans le dossier “migrations” créer un fichier 2_deploy_contracts.js contenant :

var myContract = artifacts.require("./myContract.sol");
module.exports = function(deployer) {
deployer.deploy(myContract);
};

Retour au dossier tr_

truffle migrate

La migration commence… retournez sur le terminal avec la console geth, lancer le mineur le temps de déployer le contrat puis stoppez le, comme suit.

miner.start()// quelques secondes...miner.stop()

Votre smartcontract est deployé.

Pour tester :

retour dans le dossier tr_ avec la console geth toujours allumée, lancez la console truffle:

truffle console

Elle se connecte automatiquement a votre blockchain.

Puis lancez les commandes :

var dapp;
myContract.deployed().then((i) => { dapp = i; })
dapp.message.call()

On obtient “42”.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade