Ethereum Virtual Machine (EVM) Grande liste · ethereum / wiki Wiki · GitHub – Ethereum comment trader

?>

documentation Chat

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 Impressionnant

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