Une liste de la machine virtuelle Ethereum impressionnante au format Awesome.
Notez qu’une version ultérieure peut être disponible ici, mais dans ce cas, cette version peut être facilement mise à jour.
Une liste compilée de ressources sur Ethereum Virtual Machine (EVM), qui est la machine virtuelle exécutée sur le réseau Ethereum.
Pas encore énuméré, mais dans l’esprit de
Voici comment vous contribuez.
Contenu
spécification
Papier jaune
- Une brève spécification des blocs EVM et Ethereum
Illustration
Tutoriels
tests
Implémentations EVM
En direct sur le réseau principal
Allez ethereum
- Un client Ethereum populaire avec sa propre implémentation EVM (répertoire core / VM)
Parité dans la rouille
- Un autre client Ethereum populaire avec sa propre implémentation EVM (répertoire etcore)
cpp ethereum
- Un client Ethereum générant la suite de tests de consensus (libevm / VM.cpp)
Pyethereum en Python
Py-EVM en Python
- Une implémentation Python conçue pour être hautement configurable et modulaire et compatible avec la suite de tests Ethereum, des travaux sont en cours pour exécuter un nœud complet et développer un blindage.
EthereumJ en Java
- Un client avec sa propre implémentation EVM
- Pour en savoir plus, voir ici.
Autres implémentations
Langage de programmation compilé dans EVM
Fermeté
- Le langage de programmation le plus populaire pour les contrats Ethereum
- Solidité fantastique
- Le compilateur LLL est également dans le même référentiel
Vyper
- Un langage avec contrôle d’abondance, unités numériques mais sans boucles illimitées
Schéma de pyramide (expérimental)
Silex
- Un langage avec plusieurs fonctionnalités de sécurité: par exemple types d’actifs avec un ensemble limité d’opérations atomiques
LLLL
- Un compilateur de type LLL implémenté dans Isabelle / HOL
HAseembly-EVM
- Une unité EVM implémentée en tant que DSL Haskell
Bambou (expérimental)
– Un langage sans boucles mais avec appel explicite au designer à la fin de chaque appel
Langage de programmation qui compile les circuits et les preuves zk-SNARK
Zokrates
snarky
- Un frontal OCaml pour l’écriture de SNARK R1CS (paramétré sur les bibliothèques SNARK arrière)
- DSL intégré peu profond qui peut être composé dans des circuits SNARK
- Le vérificateur est une fonctionnalité OCaml, il faut donc un peu plus de travail avant de l’utiliser sur Ethereum
jsnark
- Un frontal Java pour l’écriture de SNARK R1CS
débogueurs
Kodanalysatorer
Echidna
- Un fuzzer sur EVM qui prend également l’entrée Solidity
- Capable de fuzz un programme avec des séquences de transactions multiples
Maian
- Un outil automatique qui détecte la traçabilité (Greedy, Prodigal et Suicidal) avec une recherche en profondeur pour l’exécution symbolique de plusieurs invocations
Mythril
- Un outil d’exploration de la chaîne de blocs qui indexe tous les contrats du réseau, qui comprend un désassembleur, un détecteur de fonction ABI et un analyseur de flux de contrôle
- Livré avec une option – laser à feu
- Propulsé par l’éther laser
porosité
- Un outil de moteur inverse, un désassembleur, un détecteur de fonction ABI et un décompilateur qui met également en évidence les vulnérabilités
Manticore
- Un moteur d’exécution symbolique qui peut générer des entrées pour couvrir les chemins de code (asciicast), qui est également livré avec une API Python
evmdis
- Un démanteleur pour le code EVM
ethersplay
Sécurisez
- Un outil qui s’efforce de ne produire aucun faux négatif
- L’implémentation ne semble pas publique maintenant
Oyente
- Un analyseur de code EVM automatique basé sur l’exécution symbolique et le solveur Z3 SMT
Dr. Analyseur de contrat Ice Ethereum
- Un exécuteur symbolique pour le code EVM
Suggestions d’amélioration
Proposition pour améliorer Ethereum
- Un portail pour les améliorations EVM et Ethereum
- Les changements les plus courts sont répertoriés dans le fichier README
EVM 1.5
- Une suggestion pour apprivoiser l’espoir afin qu’un balayage temporel linéaire puisse déterminer les dispositions de pile
eWASM
- Une implémentation conforme à EVM ABI pour utiliser WebAssemble pour exécuter les contrats Ethereum, le travail est en cours avec shasper
Ressources associées
Licence pour cette liste
Grande machine virtuelle Ethereum
Publié en 2017 par Yoichi Hirai: i@yoichihirai.com
[other author/contributor lines as appropriate]
Dans la mesure du possible par la loi, le ou les auteurs ont cédé tous les droits d’auteur et droits voisins et voisins sur ce logiciel au grand public dans le monde entier. Ce logiciel est distribué sans garantie.
Vous devriez avoir reçu une copie de la dédicace du domaine public CC0 avec ce logiciel. Sinon, voir http://creativecommons.org/publicdomain/zero/1.0/.