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

Namek
2 min readOct 24, 2018

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”.

--

--