Dieses Repository enthält Beispielverträge mit XVM zum Aufrufen von EVM aus Ink! erforderlich, um XVM aus WASM-Verträgen zu verwenden. Es enthält eine Implementierung der XVM-Kettenerweiterung zur Verwendung in Ihren Verträgen. Sowie Tinte! Vertrags-SDK, das die XVM-Kettenerweiterung zur unveränderten Verwendung implementiert.
Diese Implementierung ist ein Wrapper eines zugrunde liegenden ERC20
auf EVM. Interagieren Sie mit nativen Substratadressen. Da es ein Wrapper-Muster implementiert, verfügt es über eine deposit
und withdraw
und kann als brückenlose Lösung zwischen WASM VM und EVM verwendet werden. Es implementiert PSP22
Standard und kann daher in jedem DEX/Wallet verwendet werden, das ihn unterstützt. Bitte werfen Sie einen Blick auf die Tests, die den Ablauf für deposit
und withdraw
beschreiben.
Diese Implementierung ist ein Wrapper eines zugrunde liegenden ERC721
auf EVM. Interagieren Sie mit nativen Substratadressen des Substrats. Da es ein Wrapper-Muster implementiert, verfügt es über eine deposit
und withdraw
und kann als brückenlose Lösung zwischen WASM VM und EVM verwendet werden. Es implementiert PSP34
Standard und kann daher in jedem DEX/Wallet verwendet werden, das ihn unterstützt.
Implementierung der XVM-Kettenerweiterung, die zu einem benutzerdefinierten XvmDefaultEnvironment
hinzugefügt wurde.
Importieren Sie die Kiste in Ihr Cargo.toml
Fügen Sie es mit Tinte Ihrem Vertrag hinzu! Makro #[ink::contract(env = xvm_sdk::XvmDefaultEnvironment)]
.
Verwenden Sie es in Ihrem Vertrag mit self.env().extension().xvm_call(..args)
.
Diese Kiste stellt Xvm
Struktur bereit, die xvm_call mit dem Chain-Extension-Builder von ink_env implementiert. Dadurch ist es mit anderen benutzerdefinierten Umgebungen wie Openbrush kompatibel. Schauen Sie sich als Beispiel PSP22 Wrapper an.
Importieren Sie die Kiste in Ihr Cargo.toml
Importieren Sie die Struktur in Ihren Vertrag und verwenden Sie use xvm_helper::*;
Verwenden Sie es mit XvmErc20::transfer(..args)
Klonen Sie das Repo
yarn
laufen lassen
Tinte bauen! Verträge yarn build:ink
Zur Ausführung auf einem lokalen Knoten: Stellen Sie sicher, dass ein lokaler Knoten mit ./target/release/astar-collator --dev -lruntime::contracts=debug -l=runtime=debug,xvm=trace --enable-evm-rpcp
ausgeführt wird (um XVM- und Ink!-Protokolle zu haben).
Führen Sie dann yarn test
durch.
Zur Ausführung auf Shibuya: Erstellen Sie eine .env-Datei aus .env.example und füllen Sie sie mit Ihren Anmeldeinformationen: Fügen Sie Ihren privaten Shibuya EVM-Schlüssel in ACCOUNT_PRIVATE_KEY_EVM
und Ihre Shibuya Substrate-Passphrase in SUBSTRATE_MNEMO
hinzu. Führen Sie dann yarn test:shibuya
aus.