a
a
Weather:
city not found
HomeBitcoinopenethereum / openethereum: le client rapide, léger et robuste pour le réseau principal Ethereum.

openethereum / openethereum: le client rapide, léger et robuste pour le réseau principal Ethereum.

Client Ethereum multi-réseau rapide et riche en fonctionnalités.

»Téléchargez la dernière version«


État de construction
Discord Discord

Sommaire

  1. Description
  2. Aperçu technique
  3. Construction
    3.1 Créer des dépendances
    3.2 Construire à partir du code source
    3.3 Démarrage d’OpenEthereum
  4. Tester
  5. Documentation
  6. Chaîne d’outils
  7. Contribuer
  8. Licence

1. Description

Conçu pour une utilisation critique: Les mineurs, les fournisseurs de services et les plateformes de trading nécessitent une synchronisation rapide et une disponibilité maximale. OpenEthereum fournit l’infrastructure de base essentielle pour des services rapides et fiables.

  • Base de code propre et modulaire pour une personnalisation facile
  • Client basé sur CLI avancé
  • Mémoire et espace de stockage minimum
  • Synchronisez en heures, pas en jours avec Warp Sync
  • Modulaire pour une intégration légère dans votre service ou produit

2. Présentation technique

L’objectif d’OpenEthereum est d’être le client Ethereum le plus rapide, le plus léger et le plus sécurisé. Nous développons OpenEthereum en utilisant le Langage de programmation Rust. OpenEthereum est sous licence GPLv3 et peut être utilisé pour tous les besoins d’Ethereum.

Par défaut, OpenEthereum exécute un serveur HTTP JSON-RPC sur le port :8545 et un serveur Web-Socket basé sur le port :8546. Ceci est entièrement configurable et prend en charge un certain nombre d’API.

Si vous rencontrez des difficultés pour utiliser OpenEthereum, consultez l’ancien wiki pour obtenir de la documentation, n’hésitez pas à soumettre un problème dans ce référentiel ou accédez à notre salle de discussion Discord pour poser une question. Nous sommes heureux de vous aider!

Vous pouvez télécharger la dernière version d’OpenEthereum à partir de la page des versions ou suivre les instructions ci-dessous pour créer à partir du code source. Lisez CHANGELOG.md pour une liste de toutes les modifications entre les différentes versions.

3. Construction

3.1 Construire des dépendances

OpenEthereum nécessite dernière version stable de Rust construire.

Il est recommandé d’installer Rust via rustup. Si vous ne l’avez pas déjà rustup, vous pouvez l’installer comme ceci:

  • Linux:

    $ curl https://sh.rustup.rs -sSf | sh

    OpenEthereum nécessite également clang (> = 9,0), clang++, pkg-config, file, make, est cmake packages à installer.

  • OSX:

    $ curl https://sh.rustup.rs -sSf | sh

    clang est requis. Livré avec les outils de ligne de commande Xcode ou peut être installé avec homebrew.

  • Windows: assurez-vous que Visual Studio 2015 avec prise en charge C ++ est installé. Ensuite, téléchargez et exécutez le fichier rustup programme d’installation à partir de https://static.rust-lang.org/rustup/dist/x86_64-pc-windows-msvc/rustup-init.exe, lancez « VS2015 x64 Native Tools Command Prompt » et utilisez la commande suivante pour installer et définir la msvc chaîne d’outils:

    $ rustup default stable-x86_64-pc-windows-msvc

Une fois que tu as rustup installé, vous devez installer:

Assurez-vous que ces binaires sont dans votre fichier PATH. Après cela, vous devriez pouvoir créer OpenEthereum à partir des sources.

3.2 Construire à partir du code source

# download OpenEthereum code
$ git clone https://github.com/openethereum/openethereum
$ cd openethereum

# build in release mode
$ cargo build --release --features final

Cela produit un exécutable dans ./target/release sous-répertoires.

Remarque: si le chargement ne parvient pas à analyser le manifeste, essayez:

$ ~/.cargo/bin/cargo build --release

Notez que lorsque vous remplissez une caisse et obtenez des erreurs, dans la plupart des cas, il s’agit de votre version obsolète de Rust, ou certaines de vos caisses doivent être reconstruites. Le nettoyage du référentiel résoudra très probablement le problème si vous utilisez la dernière version stable de Rust, essayez:

Cela compile toujours les dernières versions du jour au lendemain. Si vous voulez construire stable, créez un fichier

3.3 Démarrage d’OpenEthereum

Manuellement

Pour démarrer OpenEthereum manuellement, exécutez simplement

$ ./target/release/openethereum

alors OpenEthereum commence à synchroniser la blockchain Ethereum.

En utilisant systemd fichier de service

Pour démarrer OpenEthereum en tant qu’utilisateur normal en utilisant systemd à l’intérieur:

  1. copie ./scripts/openethereum.service à ton
    systemd répertoire des utilisateurs (généralement ~/.config/systemd/user).
  2. Copiez la version dans le dossier bin, tapez sudo install ./target/release/openethereum /usr/bin/openethereum
  3. Pour configurer OpenEthereum, consultez notre wiki pour plus de détails.

4. Test

Téléchargez les fichiers de test requis: git submodule update --init --recursive. Vous pouvez exécuter des tests avec les commandes suivantes:

Remplacer <spec> avec l’un des packages de la liste des packages (ex cargo test --package evmbin).

Vous pouvez afficher vos journaux dans la sortie du test en passant --nocapture (ex cargo test --package evmbin -- --nocapture)

5. Documentation

N’oubliez pas de consulter notre wiki pour plus d’informations.

Affichage de la documentation des packages OpenEthereum

Vous pouvez générer la documentation des packages OpenEthereum Rust qui s’ouvre automatiquement dans votre navigateur Web à l’aide de rustdoc avec Cargo (à partir du livre Rustdoc), en exécutant les commandes suivantes:

Utilisation--document-private-items pour consulter également la documentation privée e --no-deps pour exclure la création de documentation pour les dépendances.

Remplacement <spec> avec l’un des éléments suivants de la section des détails ci-dessous (ex cargo doc --package openethereum --open):

Liste des paquets

  • Application client OpenEthereum
  • Gestion de compte OpenEthereum, outil de gestion de clés et générateur de clés
    ethcore-accounts, ethkey-cli, ethstore, ethstore-cli
  • Spécifications de la chaîne OpenEthereum
  • OpenEthereum CLI Signer Tool et client RPC
    cli-signer parity-rpc-client
  • Implémentation d’OpenEthereum Ethash et ProgPoW
  • Bibliothèque EthCore
    • Base de données OpenEthereum Blockchain, générateur de tests, configuration, mise en cache, importation de blocs et informations sur les blocs
    • Appels de contrat OpenEthereum et informations sur le service et le registre Blockchain
    • Accès à la base de données OpenEthereum et utilitaire, gestionnaire de cache de base de données
    • Implémentation de Rust OpenEthereum Virtual Machine (EVM)
    • Implémentation d’OpenEthereum Light Client
    • Filtrage des nœuds basé sur Smart Contract, gestion des autorisations de connexion réseau
    • Création et enregistrement des clients et services du réseau OpenEthereum avec le sous-système d’E / S
    • Synchronisation de la blockchain OpenEthereum
    • Types courants d’OpenEthereum
    • Bibliothèque de prise en charge de la machine virtuelle (VM) OpenEthereum
    • Interpréteur OpenEthereum WASM
    • OpenEthereum WASM Test Runner
    • Implémentation OpenEthereum EVM
    • Désérialisation OpenEthereum JSON
    • Généralisation d’OpenEthereum State Machine pour les moteurs de consensus
  • Interface OpenEthereum Miner
    ethcore-miner parity-local-store price-info ethcore-stratum using_queue
  • Implémentation d’OpenEthereum Logger
  • Serveur JSON-RPC OpenEthereum
  • Service de mise à jour OpenEthereum
    parity-updater parity-hash-fetch
  • Bibliothèques OpenEthereum Core (util)
    accounts-bloom blooms-db dir eip-712 fake-fetch fastmap fetch ethcore-io
    journaldb keccak-hasher len-caching-lock memory-cache memzero
    migration-rocksdb ethcore-network ethcore-network-devp2p panic_hook
    patricia-trie-ethereum registrar rlp_compress stats
    time-utils triehash-ethereum unexpected parity-version

6. Chaîne d’outils

En plus du client OpenEthereum, des outils supplémentaires sont disponibles dans ce référentiel:

  • evmbin – Implémentation d’OpenEthereum EVM.
  • ethstore: gestion des clés OpenEthereum.
  • ethkey – Générateur de clés OpenEthereum.

Les outils suivants sont disponibles dans un référentiel distinct:

  • ethabi: encodage OpenEthereum des appels de fonction. Documents ici
  • whisper – Implémentation PoC OpenEthereum Whisper-v2.

7. Contribuer

Une introduction a été fournie dans les diapositives de présentation « Vous voulez être un développeur principal » par Hernando Castano. D’autres directives sont fournies dans CONTRIBUTION.

Code de conduite des employés

CODE DE CONDUITE

8. Licence

LICENCE

https://github.com/openethereum/openethereum

No comments

leave a comment