In den letzten Monaten war es für die Ethereum Javascripters ziemlich beschäftigt. Zunächst gab es einen wirklich tollen Hackathon mit IPFs. Sie können Dan Finlays ausgezeichnetes Schreiben lesen Hier.
Auch während dieser Zeit Aaron Davis (Kumavis) machte einige hervorragende Fortschritte in Richtung eines JS -leichten Clients durch die Verwendung von IPFS libp2p Erstellen eines In-Browser-Netznetzes und Ipld Um die Merklization -Schicht bereitzustellen. Dies wird in Zukunft eine wichtige Arbeit sein, um reine In-Browser-Kunden aufzubauen. Auch Casey DELTRIO Arbeitete an einer Standard -JSON -RPC -Testsuite, die Sie mit den Ergebnissen sehen können Hier.
Nach dem Seattle -Meetup (wir (Bloß Und Wanderer) Setzte sich einen Woche lang Hackathon in Budapest zusammen, um einige Details zu haben ewasm. An anderer Stelle in JS World macht Fabian einen riesigen Refactor von Web3.JS für die Veröffentlichung von 1.0, während Nick Dodson mit damit beschäftigt war EthJs. Der Rest dieses Beitrags wird darin bestehen, die verschiedenen Projektionen zu ermitteln, die diese Technologie liefern könnte, sowie an einige Details zu jedem einzelnen Projekt. Alle diese Projekte sind alle Open Source und fördern die Teilnahme an der Community. Wenn Sie also interessiert sind, schauen Sie sie sich bitte an, sagen Sie Hallo und senden Sie eine PR ein, wenn Sie Zeit haben!
Ewasm
Ewasms Ziel ist es, die EVM durch zu erforschen und zu ersetzen durch WebAssembly und zweitens einen Client für das aktuelle System implementieren, das effizient jitt werden kann (oder transkompiliert) zu WebAssembly.
Ein wichtiges Stück der Bewertung der WebAssembly für die Blockchain -Nutzung wird ein Testnetzwerk erstellen. In diesem Jahr wird der Schwerpunkt des EWASM -Teams dieses Testnetzwerk zum Leben erwecken. Die TestNet -Arbeit wird:
- Aktivieren Sie praktische Arbeiten mit EWASM für ein breiteres Publikum
- Aktivieren Sie verwandte Arbeiten wie Experimente mit Casper, die durch eine flexible Plattform für das Experimentieren durchgeführt werden können
Der EWASM -Track widmet sich der EWASM -Forschung und -entwicklung, während der Client -Integrationstrack der Entwicklung des Netzwerks widmet und vollständige und leichte Clients ins Leben gerufen wird. Diese beiden Spuren haben jedoch viele gemeinsame Komponenten. Das EWASM -Projekt wird in zwei Hauptkomponenten unterteilt: die Kernelschichtder IPC übernimmt und den Status und den Kern -VM verwaltet. Dies sollte es uns ermöglichen, dasselbe Framework für verschiedene VM -Implementierungen zu verwenden.
Um zusammenzufassen, sind die Hauptaufgaben für den EWASM:
- Erstellen Sie ein EWASM -Testnetzwerk
- Erstellen eines wiederverwendbaren „Kernel“ -Moduls
- Überprüfen Sie Ethereumjs-VM
- Verwenden Sie EWASM-Kernel für die Nachricht zum Botschaft
- Implementieren Sie die neuesten EIPs
- EWASM -Integrationstools
- Solidity-Ewasm-Integration (bevorstehende Anstrengung für den Solidity Hackathon!)
Bitte kommen Sie an den Implementierungsbemühungen! Wir haben dienstags halbwöchentliche Treffen. Unser Kommunikationskanal ist auf Matrix bei Prima: matrix.org (oder #eWasm auf IRC oder bei gitter)
Networking
Es gibt mehrere Gründe für eine Implementierung von Ethereum Networking in JS. Zum einen würde es uns ermöglichen, einen vollständigen und leichten Ethereum -JS -Knoten zu implementieren. Diese leichten Clients würden sowohl in einer node.js -Umgebung als auch in einem Browser ausgeführt. Eine Voraussetzung für einen im Browser leichten Client sind „Brückenknoten“. Diese Knoten könnten auch als Signalserver für die webrtc Netzwerk, mit dem die Browser -Light -Clients Nachrichten aus dem RLPX -Netzwerk in das WEBRTC -Netzwerk weitergeben würden. Diese Arbeit wird von Metamask unter Verwendung von IPFS -LIBP2P angeführt. Auch die Rlpx Die Implementierung wurde kürzlich von überarbeitet von Fanat.
Ipld
Ethereums Blockchain und On-Chain-Staat können als Graph von Hash-verknüpften Daten verstanden werden. IPFS/IPLD wird als generisches System vorgeschlagen, um Hash-verknüpfte Daten zu beschreiben und zu verteilen. Daher können wir Ethereum als Anwendungsschicht über der Hash-verknüpften Datenverfügbarkeitsplattform beschreiben. Als Beweis des Konzepts, Kumavis implementiert IPLD -Resolver Für die Ethereum-Datenformate, die definieren, wo Hash-Links innerhalb der kanonischen Ethereum-Formate (z. B. Block- und Zustands-Trie-Knoten) codiert sind. In Kombination mit anderen generischen Funktionen von LIBP2P (IPFS Generic P2P Networking Stack) ermöglicht es die Erstellung minimaler Ethereum -Clients, die sich auf das Konsensprotokoll und den Zustandsübergangsmechanismus konzentrieren. Ein Vorteil dieses Ansatzes besteht darin, dass die Netzwerkschicht transportagnostisch ist und in Umgebungen verwendet werden kann, die keinen Zugriff auf TCP/UDP (wie den Browser) haben, den die Standard-Clients von Ethereum benötigen. Dieses Projekt befindet sich noch in der Forschungsphase. Metamask hofft, diesen Ansatz zu verwenden, um einen Browser -kompatiblen Ethereum Light -Client über ein sekundäres Netzwerk zu implementieren, das von Hybridknoten überbrückt wird.
Web3.js 1.0 Eingehende!
Eine neue Version von Web3.js ist im Erstellen. Es ist der größte Refaktor der Codebasis seit Beginn der populären Ethereum -Bibliothek. Es Sie haben viele Komfortfunktionen wie Bestätigungs- und Quittungsereignis bei Transaktionen, eine schöne Abonnement -API und Kontrollkontrollen für Adresseingänge.
Die API ist noch nicht abgeschlossen, aber wenn Sie einen Blick darauf werfen möchten, können Sie sich die Dokumente ansehen Hier.
Die neue Version wird auch einige brechende Änderungen haben, diese Updates sind jedoch erforderlich, um die neue API richtig zu machen und einige veraltete Methoden auf dem Weg zu entfernen, z. B. synchrone Anrufe. 1.0 wird nur haben Versprechen und in einigen Ereignissen „PromiseVents“, um mehrere Ereignisse bei der Ausführung einer Transaktion besser widerzuspiegeln. Für diejenigen, die darüber nachdenken, ihre Apps in das neue Web3 zu übergeben, wird beim Start eine Migrationsanleitung gegeben, um den Übergang von 0.XX so einfach wie möglich zu gestalten.
In Nebel wird es standardmäßig kein Web3 mehr ausgesetzt, da dies die schlechte Angewohnheit fördert, sich auf das nebelgeplante Web3 zu verlassen, was für Dapps katastrophale Veränderungen katastrophal macht. Stattdessen wird es einen „EthereumProvider“ geben, mit dem Bibliotheken wie Web3 mit dem zugrunde liegenden Knoten sprechen können. Web3.js erfasst automatisch einen bestimmten Anbieter und setzt ihn für eine einfache Instanziierung auf der API auf.
Für diejenigen, die es kaum erwarten können und es jetzt ausprobieren möchten, sehen Sie sich die 1.0 -Filiale in der Web3.js Repo. Beachten Sie, dass es Drachen geben könnte!
EthJs
EthJs ist ein neues hoch optimiertes, leichtes JS-Dienstprogramm für Ethereum Ausgestattet auf die Zusammenarbeit mit dem JSON -RPC, ähnlich wie Web3.js, aber leichter, nur asynchronisiert und verwendet Bn.js. Die aktuelle fortlaufende Aktivität umfasst:
- Hinzufügen der ABI-Methoden zur Dekodierung von Protokollen in ETHJS-ABI
- Einen kleinen Dekodierungsfehler in EthJS-Abi behoben (mit 0x-Adressen)
- Fusionierte ein neues Schema für persönliche Erholung und Unterzeichnung von EthJS-Schema
- Auf der Suche nach Hilfe, um EthJS-Filter staatenlos zu machen (Infura bereit)
- Fehlerbehebung in EthJS-Contract
- Dokumentationsaktualisierungen rundum
- KOMME ETHJS -Version 0.2.7 Release!
TestRPC
Arbeiten Sie an der Version 4.0.0! Diese Veröffentlichung umfasst:
- Datenbank Persistenz. Jetzt können Sie eine Testkette erstellen und diese Daten speichern, genau wie jede andere private Kette!
- Säuberung der Daten im Speicher, die den Speicherproblemen erheblich reduzieren sollten. Obwohl es bei einer gewissen Leistung geringfügige Kosten geben wird, die meist unbemerkt sind, wenn Sie nicht Tausende von Transaktionen durchführen, wird dies zu einem enormen Anstieg der Stabilität führen.
- Bündelung für den Browser (nur Anbieter).
- Einfachere Installationen unter Windows und möglicherweise anderen Plattformen.
Wir werden den TestRPC auf die verschieben Trüffel -Github -Organisation Da wird es in erster Linie von Trüffelentwicklern gepflegt. Es kommen signifikante neue TestRPC-Add-Ons. Und wir investieren erhebliche Energie in Dokumentation und Branding, die sie unter der Trüffelmarke vereint. Jedes Feedback zu diesem Schritt wird geschätzt. Schließlich braucht der TestRPC einen neuen Namen, der alles ausstrahlt, was er kann. Wenn Sie eine Idee haben, lassen Sie es uns wissen!
Die Ethereum JS -Community ist eine aufregende und wundervolle Sache, die ein Teil davon sein kann. Es gibt viele großartige Projekte. Wenn Sie an Plug -in interessiert sind, haben wir WeelyFriday -Meetings um 3:00 EST / 10:00 PST / 18:00 UTC. Betrachten unser Gitter -Kanal Für den Chat -Link. Außerdem organisieren wir eine bevorstehender Hackathon. Lassen Sie uns wissen, ob Sie interessiert sind.
NACHTRAG [Mar. 22, 2017]: Beachten Sie, dass einige der Projekte in diesem Beitrag nicht direkt von der Ethereum Foundation unterstützt werden, sondern aufgenommen wurden, da sie für das gesamte Aktualisierung von Ethereum JS -Ökosystem durch den Autor relevant sind.

