Das Moonbase Alpha TestNet
Hinweis: Mit der Veröffentlichung von Moonbase Alpha v8 wurde der Mindestgaspreis auf 1 GDEV (ähnlich wie GWei auf Ethereum) festgelegt. Dies könnte eine einschneidende Änderung sein, wenn Sie zuvor einen Gaspreis von 0
für Ihren Einsatz festgelegt haben.
Ziel
Das erste Moonbeam TestNet, genannt Moonbase Alpha, soll Entwicklern einen Ort bieten, an dem sie mit dem Experimentieren und Bauen auf Moonbeam in einer gemeinsamen Umgebung beginnen können. Da Moonbeam als Parachain auf Kusama und Polkadot eingesetzt werden wird, wollen wir, dass unser TestNet unsere Produktionskonfiguration widerspiegelt. Aus diesem Grund haben wir uns entschieden, dass es eine Parachain-basierte Konfiguration sein sollte und nicht eine Substrate-Entwicklungskonfiguration.
Um so viel Feedback wie möglich zu sammeln und eine schnelle Problemlösung zu ermöglichen, haben wir einen Discord mit einem eigenen Moonbase-AlphaNet-Kanal eingerichtet.
Anfängliche Konfiguration
Moonbase Alpha hat die folgende Konfiguration:
- Moonbase Alpha läuft als Parachain, die mit einer Relaiskette verbunden ist
- Die Parachain hat zwei Kollatoren (gehostet von PureStake), die Blöcke kollationieren. Externe Kollatoren können dem Netzwerk beitreten. Nur die 32 besten Collator-Knoten nach Stake werden in den aktiven Satz aufgenommen
Die Relaiskette beherbergt drei Validierer (gehostet von PureStake), die die Blöcke der Relaiskette finalisieren. Einer von ihnen wird ausgewählt, um jeden Block abzuschließen, der von den Kollatoren von Moonbeam kollationiert wurde. Diese Einrichtung bietet Raum für eine zukünftige Erweiterung auf eine Zwei-Parachain-Konfiguration - Es gibt zwei RPC-Endpunkte (gehostet von PureStake). Personen können vollständige Knoten ausführen, um auf ihre eigenen privaten RPC-Endpunkte zuzugreifen
Funktionen
Die folgenden Leistungsmerkmale sind verfügbar:
1. September 2020
- Vollständig emulierte Ethereum-Blockproduktion in Substrate (Ethereum-Palette)
- Dispatchable-Funktionen zur Interaktion mit der Rust EVM-Implementierung (EVM-Palette)
- Native Ethereum-RPC-Unterstützung (Web3) in Substrate (Frontier). Dies bietet Kompatibilität mit Ethereum-Entwickler-Tools wie MetaMask, Remix und Truffle
2. Oktober 2020
- Event-Subscription-Unterstützung (pub/sub), die eine fehlende Komponente auf der Web3-RPC-Seite ist und häufig von DApp-Entwicklern verwendet wird. Eine Anleitung zum Abonnieren von Ereignissen finden Sie hier
- Unterstützung für die folgenden vorkompilierten Verträge: ecrecover, sha256, ripemd160 und die Identitätsfunktion (oder datacopy)
3. November 2020
- Vereinheitlichung von Substrate- und Ethereum-Konten unter dem H160-Format, was wir als Unified Accounts bezeichnen. Folglich wird es nur noch eine Art von Konto im System geben, das durch eine einzige Adresse repräsentiert wird
- Erweiterung der Unterstützung für Ereignisabonnements um die Möglichkeit, Wildcards und bedingte Formatierungen für Themen zu verwenden. Mehr Informationen finden Sie hier
- Polkadot JS Apps unterstützt jetzt nativ H160-Adressen und ECDSA-Schlüssel. Sie können Ihre Ethereum-ähnliche Adresse für Substrate-Funktionen (wenn verfügbar) wie Staking, Balances und Governance verwenden. Mehr Informationen finden Sie hier
4. Dezember 2020
- Aktualisierung auf die neueste Version des Polkadot-Parachain-Protokolls (Parachains V1), die mehrere Probleme mit der Node-Synchronisierung behebt und den Weg dafür ebnet, dass mehrere Kollatoren in derselben Parachain synchronisiert werden können
- Mehrere Verbesserungen der Etheruem-Kompatibilitätsfunktionen:
- Die Ereignis-Abonnement-ID gibt jetzt eine Ethereum-ähnliche Abonnement-ID zurück
- Probleme bei der Gasabschätzung für bestimmte Anwendungsfälle behoben
- Unterstützung für Revert-Grundmeldung hinzugefügt
- Unterstützung für Ethereum-Transaktionen ohne ChainId
5. Januar 2021
- Eine benutzerdefinierte Version der Staking-Palette wurde hinzugefügt (nur für Test- und Entwicklungszwecke)
- Unterstützung für die Abfrage ausstehender Transaktionen hinzugefügt, während sie sich im Pool befinden
- Einige Probleme beim Abrufen vergangener Ereignisse und andere kleinere Korrekturen im Zusammenhang mit Smart-Contract-Ereignissen wurden behoben
- Mehrere "Under-the-Hood"-Verbesserungen, darunter eine Optimierung der EVM-Ausführungszeit, wodurch diese 15-50 Mal schneller wird
- Unterstützung für die modexp vorkompilierten Verträge
6. Februar 2021
- Öffentliche Freigabe der benutzerdefinierten Staking-Palette. Jetzt können Token-Inhaber Kollatoren nominieren und Belohnungen verdienen
- Hinzufügt der Demokratie-Palette. Token-Inhaber können nun Vorschläge einreichen und über diese abstimmen
- Aktualisierung auf die neueste Version von Frontier RPC, die die Effizienz der EVM-Ausführung um den Faktor 5 erhöht
- Das Gaslimit wurde auf 15M pro Block angehoben, mit einem 13M pro Transaktion Limit
7. April 2021
- Unterstützung für Ethereum-Debug/Tracing-Module wurde hinzugefügt. Diese sind standardmäßig ausgeschaltet, um sie zu verwenden, müssen Sie einen
- Vollknoten aufsetzen und die Funktion einschalten
Probleme mit der Blockausbreitung wurden behoben, so dass diese nicht mehr auf Kollatoren beschränkt ist, was die Stabilität des Netzwerks verbessert - Räte und Technisches Komitee hinzugefügt, was die Governance-Funktionen erweitert
- Das Staking-Modul wurde überarbeitet, mit neuen Namen, um die Benutzerfreundlichkeit zu verbessern
- Drei neue Precompiles wurden hinzugefügt: Bn128Add, Bn128Mul und Bn128Pairing
Mai 2021
- Die Treasury-Palette wurde hinzugefügt, um die Treasury-Funktionalitäten auf Moonbase Alpha zu bringen. Es wurden zwei separate Schatzkammern eingerichtet: eine, die 20% der Transaktionsgebühren erhält und von Demokratie/Räten regiert wird, und die andere, die 30% der Block-Belohnungen erhält und dazu dient, zukünftige Parachain-Slots zu sichern
- Hinzufügen der Proxy-Palette, die die Verwendung von Proxy-Konten auf der Mondbasis Alpha ermöglicht
- Es wurde ein neuer Konsens-Mechanismus eingeführt, genannt Nimbus. Nimbus bietet verschiedene Filter, um eine zufällige Teilmenge des aktuell aktiven Collator-Pools auszuwählen, um den nächsten Block zu erzeugen. Außerdem signieren Blockautoren nun Blöcke mit Sitzungsschlüsseln, die über ein Extrinsic auf eine H160-Adresse für die Reward-Zahlung abgebildet werden. Mehr über Nimbus können Sie hier lesen
- Es wurde ein vorkompilierter Staking-Vertrag an der Adresse
0x0000000000000000000000000000000000000800
hinzugefügt. Eine Schnittstelle zur Interaktion mit dem Vertrag finden Sie unter diesem Link - Das Filtern von vorläufigen Protokollen nach Blüte wurde hinzugefügt, um Benutzeranfragen durch Frontier abzugleichen. Diese Funktion wurde weiter optimiert, um schnellere Antwortzeiten und eine besser vorhersehbare Leistung zu erreichen
- Die Parachain Crowdloan-Palette wurde hinzugefügt, um die Verteilung von Belohnungen zu testen
- Viele Verbesserungen, die die Stabilität des Netzwerks erhöhen sollen
- Der Mindestgaspreis wurde auf 1 GDEV erhöht (analog zu GWei auf Ethereum)
Versionshinweise
Weitere Details zu den Updates von Moonbase Alpha finden Sie in den folgenden Versionshinweisen:
- Moonbase Alpha v2
- Mondbasis Alpha v3
- Mondbasis Alpha v4
- Mondbasis Alpha v5
- Mondbasis Alpha v6
- Mondbasis Alpha v7
- Mondbasis Alpha v8
Get Started
HTTPS-DNS
Um sich mit Moonbase Alpha über HTTPS zu verbinden, verweisen Sie Ihren Provider einfach auf den folgenden RPC-DNS:
https://rpc.testnet.moonbeam.network
Für die web3.js-Bibliothek können Sie eine lokale Web3-Instanz erstellen und den Provider so einstellen, dass er sich mit Moonbase Alpha verbindet (sowohl HTTP als auch WS werden unterstützt):
const Web3 = require('web3'); //Load Web3 library . . . //Create local Web3 instance - set Moonbase Alpha as provider const web3 = new Web3('https://rpc.testnet.moonbeam.network');
Für die Bibliothek ethers.js definieren Sie den Provider, indem Sie ethers.providers.StaticJsonRpcProvider(providerURL, {object})
verwenden und die Provider-URL auf Moonbase Alpha setzen:
const ethers = require('ethers'); const providerURL = 'https://rpc.testnet.moonbeam.network'; // Define Provider const provider = new ethers.providers.StaticJsonRpcProvider(providerURL, { chainId: 1287, name: 'moonbase-alphanet' });
Jede Ethereum-Wallet sollte in der Lage sein, eine gültige Adresse für Moonbeam zu generieren (z. B. MetaMask).
WSS-DNS
Für WebSocket-Verbindungen können Sie den folgenden DNS verwenden:
wss://wss.testnet.moonbeam.network
Ketten-ID
Für das Moonbase Alpha TestNet lautet die Ketten-ID: 1287
.
Relaiskette
Um sich mit der von PureStake verwalteten Moonbase Alpha-Relay-Kette zu verbinden, können Sie den folgenden WS-Endpunkt verwenden:
wss://wss-relay.testnet.moonbeam.network
Telemetrie
Sie können die aktuellen Telemetriedaten von Moonbase Alpha unter diesem Link einsehen.
Token
Token auf Moonbase Alpha, genannt DEV, werden bei Bedarf ausgegeben. DEV-Tokens haben keinen Wert und können frei erworben werden. Derzeit gibt es zwei Möglichkeiten, wie Sie Zugang zu diesem Token erhalten können: über einen Discord-Bot oder manuell.
Discord - Einsatzsteuerung
Um Token automatisch anzufordern, haben wir einen Discord-Bot (namens Mission Control 😎) erstellt, der automatisch alle 24 Stunden (pro Discord-Benutzer) maximal 5 DEV-Token versendet, wenn Sie Ihre Adresse eingeben. Sie können ihn in unserem Discord-Kanal ausprobieren. Für weitere Informationen besuchen Sie bitte diese Seite.
Unter der Kategorie "Sonstiges" finden Sie unseren AlphaNet-Bot-Channel. Geben Sie die folgende Nachricht ein und ersetzen Sie <enter-address-here->
durch Ihre H160-Adresse:
!faucet send <enter-address-here->
Manuelles Verfahren
Wenn Sie mehr Token benötigen, als unser Discord-Bot zulässt, wenden Sie sich bitte direkt an einen Moderator in unserem Discord-Kanal. Wir stellen Ihnen gerne die benötigten Token zur Verfügung, um Ihre Anträge zu testen.
Early Stage Proof of Stake
Mit der Veröffentlichung von Moonbase Alpha v6 läuft das TestNet nun mit einem Early Stage Proof of Stake System. Derzeit besteht das aktive Set aus 32 Kollatoren, die mit DEV-Geldern, die vom Team gehalten werden, nominiert werden.
Mit dem Fortschreiten von Moonbase Alpha erwarten wir, dass es sich zu einem vollständig dezentralisierten Proof of Stake-Netzwerk entwickeln wird.
Beschränkungen
Dies ist das erste Testnetz für Moonbeam, daher gibt es einige Einschränkungen.
Einige Precompiles sind noch nicht enthalten. Sie können eine Liste der unterstützten Precompiles hier einsehen. Es sind jedoch alle eingebauten Funktionen verfügbar.
Seit der Veröffentlichung von Moonbase Alpha v6 wurde das maximale Gaslimit pro Block auf 15M gesetzt, mit einem maximalen Gaslimit pro Transaktion von 12,995M.
Benutzer haben nur Zugriff auf die Moonbeam-Parachain. In zukünftigen Netzwerken werden wir den Zugriff auf die Relay-Chain hinzufügen, damit Benutzer das Übertragen von Token testen können.
Kettenbereinigung
Dieses Netzwerk befindet sich in aktiver Entwicklung. Gelegentlich können Kettenbereinigungen erforderlich sein, um die Blockchain auf ihren ursprünglichen Zustand zurückzusetzen. Dies ist notwendig, wenn größere TestNet-Upgrades oder Wartungsarbeiten durchgeführt werden. Wir werden mindestens 24 Stunden im Voraus über unseren Discord-Kanal ankündigen, wann eine Kettenbereinigung stattfinden wird.
Bitte beachten Sie, dass PureStake den Zustand der Kette nicht migrieren wird. Daher gehen alle in der Blockchain gespeicherten Daten verloren, wenn eine Kettenbereinigung durchgeführt wird.
Original article: https://docs.moonbeam.network/networks/moonbase/