Repositori ini berisi contoh kontrak menggunakan XVM untuk memanggil EVM dari tinta! perlu menggunakan XVM dari kontrak WASM. Ini berisi implementasi ekstensi rantai XVM untuk digunakan dalam kontrak Anda. Serta tinta! mengontrak SDK yang mengimplementasikan ekstensi rantai XVM untuk digunakan apa adanya.
Implementasi ini adalah pembungkus ERC20
yang mendasari EVM. Berinteraksi dengan alamat media asli. Karena mengimplementasikan pola pembungkus, ia memiliki fungsi deposit
& withdraw
dan dapat digunakan sebagai solusi tanpa jembatan antara WASM VM & EVM. Ini menerapkan standar PSP22
, sehingga dapat digunakan di DEX/dompet apa pun yang mendukungnya. Silakan lihat tes yang menjelaskan alur penggunaan deposit
dan withdraw
.
Implementasi ini adalah pembungkus ERC721
yang mendasari EVM. Berinteraksi dengan alamat media asli substrat. Karena mengimplementasikan pola pembungkus, ia memiliki fungsi deposit
& withdraw
dan dapat digunakan sebagai solusi tanpa jembatan antara WASM VM & EVM. Ini mengimplementasikan standar PSP34
, dan dengan demikian dapat digunakan di DEX/dompet apa pun yang mendukungnya.
Implementasi ekstensi rantai XVM ditambahkan ke XvmDefaultEnvironment
khusus.
Impor peti di Cargo.toml Anda
Tambahkan ke kontrak Anda dengan tinta! makro #[ink::contract(env = xvm_sdk::XvmDefaultEnvironment)]
.
Dalam kontrak Anda gunakan dengan self.env().extension().xvm_call(..args)
.
Peti ini memperlihatkan struct Xvm
yang mengimplementasikan xvm_call dengan pembuat ekstensi rantai dari ink_env. Itu membuatnya kompatibel dengan lingkungan khusus lainnya seperti openbrush. Lihat PSP22 Wrapper sebagai contoh.
Impor peti di Cargo.toml Anda
Impor struct dalam penggunaan kontrak Anda use xvm_helper::*;
Gunakan dengan XvmErc20::transfer(..args)
Kloning reponya
Jalankan yarn
Bangun tinta! kontrak yarn build:ink
Untuk berjalan di node lokal: Pastikan Anda menjalankan node lokal dengan ./target/release/astar-collator --dev -lruntime::contracts=debug -l=runtime=debug,xvm=trace --enable-evm-rpcp
(untuk memiliki log XVM dan tinta!).
Kemudian jalankan yarn test
.
Untuk berjalan di Shibuya: Buat file .env dari .env.example dan isi dengan kredensial Anda: Tambahkan kunci pribadi Shibuya EVM Anda di ACCOUNT_PRIVATE_KEY_EVM
Dan frasa sandi Substrat Shibuya Anda di SUBSTRATE_MNEMO
. Kemudian jalankan yarn test:shibuya
.