Installer EOS

in eos •  7 years ago  (edited)

Franceos-couv-eos.png

Comment installer un nœud EOS complet sur votre ordinateur ?

La documentation complète est disponible sur GitHub.

Installer EOS sous Linux


Il est recommandé de disposer de la dernière version d’Ubuntu. Utilisez la console et entrez les commandes suivantes :

  • Définir le bon fuseau horaire :
# dpkg-reconfigure tzdata

  • Installer le paquet Ntpdate pour régler la date et l'heure :
# apt-get update
# apt-get install ntpdate
# ntpdate pool.ntp.br

  • Installer le service NTP afin de garder votre serveur à jour :
# apt-get install ntp

  • Créer un répertoire pour EOS et télécharger les paquets :
# mkdir /eos
# cd /eos
# git clone https://github.com/EOSIO/eos --recursive

  • Compiler et installer le logiciel EOS :
# cd eos
# ./eosio_build.sh

  • Le script d'installation vous demandera alors de confirmer la compilation; entrez le chiffre 1 pour confirmer et attendez la fin de la compilation EOS. Cette procédure peut prendre beaucoup de temps, en fonction de vos ressources informatiques.
Do you wish to install these packages?
1) Yes
2) No
#? 1

  • Il est possible que vous obteniez le message d’erreur suivant vers la fin de l’installation :
common.copy /root/opt/boost_1_66_0/lib/libboost_test_exec_monitor.a
…failed updating 54 targets…
…skipped 6 targets…
…updated 15206 targets…
Installation of boost libraries failed. 1
Exiting now.

  • Si c’est le cas, exécutez à nouveau le script d’installation :
# ./eosio_build.sh

  • Les messages suivants apparaîtront pendant la compilation :
[ 86%] Building CXX object src/mongocxx/test
[ 87%] Building CXX object src/mongocxx/test
[ 88%] Building CXX object src/mongocxx/test

  • À la fin de la compilation d’EOS, il faudra manuellement lancer la base de données Mongo afin de tester l’installation :
# /root/opt/mongodb/bin/mongod -f /root/opt/mongodb/mongod.conf &
# export PATH=${HOME}/opt/mongodb/bin:$PATH
# cd /eos/build
# make test

  • De nombreux messages relatifs au test apparaîtront dans la console :
Running tests…
Test project /eos/build
Start 1: test_cypher_suites
1/31 Test #1: test_cypher_suites ………………… Passed 0.02 sec
Start 2: validate_simple.token_abi
2/31 Test #2: validate_simple.token_abi ………….. Passed 0.02 sec

  • Une fois cette série de tests effectuée, entrez la commande suivante pour finaliser l’installation :
# cd /eos/build
# make install

L’installation d’EOS est désormais terminée ! Pour lancer votre nœud complet, exécutez la commande suivante :
# nodeos -e -p eosio --plugin eosio::wallet_api_plugin --plugin eosio::chain_api_plugin --plugin eosio::account_history_api_plugin

Pour le moment, Nodeos fonctionne avec un seul producteur, Eosio.

Vous devriez voir les messages de production de blocs :

* ------ NEW CHAIN ------ *
* - Welcome to EOSIO! - *
* ----------------------- *
eosio generated block 5987ac50… #1 @ 2018-04-19T03:45:55.000 with 0 trxs, lib: 0
eosio generated block 1142d387… #2 @ 2018-04-19T03:45:55.500 with 0 trxs, lib: 1
eosio generated block 78e6a7be… #3 @ 2018-04-19T03:45:56.000 with 0 trxs, lib: 2
eosio generated block 5e1e5990… #4 @ 2018-04-19T03:45:56.500 with 0 trxs, lib: 3

Installer EOS sous Windows 10

La version la plus simple : en utilisant Docker


  • Installation de Docker et de ses dépendances
Télécharger et installer Docker (version 17.05 ou supérieure) : https://docs.docker.com/

  • Lancer Docker et créer l'image d'EOSIO :
$ git clone https://github.com/EOSIO/eos.git --recursive
$ cd eos/Docker
$ docker build -t eosio/eos

  • Démarrer nodeos :
$ docker run --name nodeos -p 8888:8888 -p 9876:9876 -t eosio/eos nodeosd.sh arg1 arg2
Votre nœud complet local est désormais fonctionnel !

Un peu plus complexe : en utilisant Windows Subsystem for Linux


  • Afin d’émuler Linux sous Windows, il faut installer Windows Subsystem for Linux. Tout d’abord, activer le mode développeur sous Windows :
Panneau de configuration -> Mise à jour et sécurité -> Pour les développeur.
Activer l’option “Mode développeur” dans la section “Utiliser les fonctionnalités de développement”.

  • Ensuite, ouvrir un interpréteur de lignes de commandes (PowerShell par défaut) en mode administrateur. Entrer la commande suivante :
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Redémarrer l’ordinateur si nécessaire.
  • Télécharger puis installer la dernière version d’Ubuntu sur Microsoft Store. Mettre à jour Ubuntu avec les commandes suivantes :
sudo apt update
sudo apt full-upgrade

  • Installation de Visual Studio Code :
Télécharger et installer le programme depuis le site officiel.
  • Modifier les préférences utilisateur du logiciel pour pouvoir utiliser la console d’Ubuntu dans Visual Studio Code :
Dans Fichier ->Préférences -> Paramètres, modifier le champ “Paramètres utilisateur” et rajouter cette commande :
"terminal.integrated.shell.windows": "C:\\Windows\\sysnative\\bash.exe" La console Ubuntu sera alors accessible via le menu “Afficher” -> “Terminal Intégré”.
De nombreuses extensions peuvent être ajoutées à Visual Studio Code, comme les outils de développement C++.
  • Compiler le code source d’EOS :
Il faut commencer par créer le répertoire dans lequel EOS sera installé. Par exemple, ici, il s’agira de C:\EOS.

Ce chemin d‘accès sera représenté sous Linux par “mnt/c/EOS”.

Ensuite, les commandes suivantes devront être exécutée dans la console Ubuntu de Visual Studio Code (“Afficher” -> “Terminal Intégré” ou Ctrl + ù.)

  • Définition des variables système :
export WORKSPACE_DIR=/mnt/c/EOS
export EOSIO_INSTALL_DIR=${WORKSPACE_DIR}/eos
export EOS_PROGRAMS=${EOSIO_INSTALL_DIR}/build/programs
export TEMP_DIR=/tmp

  • Sauvegarder ces variables dans le fichier ~/.bashrc :
echo "export WORKSPACE_DIR=${WORKSPACE_DIR}" >> ~/.bashrc
echo "export EOSIO_INSTALL_DIR=${EOSIO_INSTALL_DIR}" >> ~/.bashrc
echo "export EOS_PROGRAMS=${EOS_PROGRAMS}" >> ~/.bashrc

  • Installation de cmake et de Git :
sudo apt install cmake
sudo apt install git

  • Cloner le code source d'EOS depuis le dépôt GitHub :
cd ${WORKSPACE_DIR}
git clone https://github.com/eosio/eos --recursive

  • La compilation du code source peut prendre un temps assez long, en fonction des performances de votre ordinateur. Il faudra confirmer plusieurs actions et entrer votre mot de passe :
cd ${EOSIO_INSTALL_DIR}
./eosio_build.sh ubuntu full

En cas d’erreur lors du téléchargement des sources, recommencer l’opération.

  • Pour finir :
cd /eos/build
sudo make install

Utilisation des programmes exécutables d’EOS :


Ils sont placés dans le répertoire $EOS_PROGRAMS.
Vous devriez être en mesure d'exécuter les tests décrits dans eos/README.md. Pour savoir si EOS peut être lancé, entrez la commande suivante :

cd ${EOS_PROGRAMS}/nodeos &&./nodeos

A ce stade, le programme devrait s’interrompre avec une erreur stipulant que le fichier genesis.json n'est pas défini. Si le programme ne s’interrompt pas, vous pouvez forcer l’interruption avec ctrl + C.


Production des blocs :

Localiser le chemin d’accès au fichier genesis.json. Dans notre exemple, il s’agit de /mnt/c/EOS/eos/build/genesis.json
Éditer le fichier config.ini (dans notre exemple, il se trouve ici : C:\EOS\eos\build\programs\nodeos\data-dir\config.ini) en utilisant le bloc-note ou tout autre éditeur de texte; localiser l’entrée enable-stale-production et la changer en : enable-stale-production = true.

Ensuite, ajouter au fichier config.ini les lignes ci-dessous :

genesis-json = /mnt/c/EOS/eos/build/genesis.json
producer-name = inita
producer-name = initb
producer-name = initc
producer-name = initd
producer-name = inite
producer-name = initf
producer-name = initg
producer-name = inith
producer-name = initi
producer-name = initj
producer-name = initk
producer-name = initl
producer-name = initm
producer-name = initn
producer-name = initq
producer-name = initr
producer-name = inits
producer-name = initt
producer-name = initu
plugin = eos::producer_plugin
plugin = eos::chain_api_plugin
plugin = eos::wallet_api_plugin
plugin = eos::account_history_api_plugin
plugin = eos::http_plugin

(Veiller à bien modifier le chemin d’accès en fonction de celui que vous avez choisi). Après cette étape, en lançant nodeos à nouveau, la production des blocs devrait débuter :

cd ${EOS_PROGRAMS}/nodeos && ./nodeos

Voici ce qui devrait apparaître dans la console si tout fonctionne correctement :
232901ms thread-0 chain_plugin.cpp:80 plugin_initialize ] initializing chain plugin
232902ms thread-0 producer_plugin.cpp:159 plugin_initialize ] Public Key: EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV
232903ms thread-0 http_plugin.cpp:132 plugin_initialize ] host: 127.0.0.1 port: 8888
232905ms thread-0 http_plugin.cpp:135 plugin_initialize ] configured http to listen on 127.0.0.1:8888
232998ms thread-0 producer_plugin.cpp:170 plugin_startup ] producer plugin: plugin_startup() begin
232999ms thread-0 producer_plugin.cpp:175 plugin_startup ] Launching block production for 19 producers.
*******************************
* *
* ------ NEW CHAIN ------ *
* - Welcome to EOS! - *
* ----------------------- *
* *
*******************************
Your genesis seems to have an old timestamp
Please consider using the --genesis-timestamp option to give your genesis a recent timestamp
233012ms thread-0 producer_plugin.cpp:185 plugin_startup ] producer plugin: plugin_startup() end
233012ms thread-0 http_plugin.cpp:147 plugin_startup ] start processing http thread
233059ms thread-0 http_plugin.cpp:224 add_handler ] add api url: /v1/account_history/get_transaction
233060ms thread-0 http_plugin.cpp:224 add_handler ] add api url: /v1/account_history/get_transactions
237003ms thread-0 chain_controller.cpp:235 _push_block ] initq #1 @2017-09-29T16:03:57 | 0 trx, 0 pending, exectime_ms=0
237005ms thread-0 producer_plugin.cpp:233 block_production_loo ] initq generated block #1 @ 2017-09-29T16:03:57 with 0 trxs 0 pending
240003ms thread-0 chain_controller.cpp:235 _push_block ] initc #2 @2017-09-29T16:04:00 | 0 trx, 0 pending, exectime_ms=0
240004ms thread-0 producer_plugin.cpp:233 block_production_loo ] initc generated block #2 @ 2017-09-29T16:04:00 with 0 trxs 0 pending
243003ms thread-0 chain_controller.cpp:235 _push_block ] initd #3 @2017-09-29T16:04:03 | 0 trx, 0 pending, exectime_ms=0

Il peut arriver que nodeos ne fonctionne pas lors de la première tentative. Dans ce cas, interrompre le programme avec Ctrl + C puis recommencer.

Mise à jour du code source d’EOS :


Pour mettre à jour le code source d’EOS, exécuter les commandes suivantes :

cd ${EOSIO_INSTALL_DIR} git pull rm -r build && mkdir build && cd build export BOOST_ROOT=${HOME}/opt/boost_1_64_0 cmake -DCMAKE_BUILD_TYPE=Debug \ -DCMAKE_C_COMPILER=clang-4.0 \ -DCMAKE_CXX_COMPILER=clang++-4.0 \ -DWASM_LLVM_CONFIG=${HOME}/opt/wasm/bin/llvm-config \ -DBINARYEN_BIN=${HOME}/opt/binaryen/bin \ -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl \ -DOPENSSL_LIBRARIES=/usr/local/opt/openssl/lib \ ../ && make
Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!