يحتوي هذا المستودع على أمثلة للعقود التي تستخدم XVM لاستدعاء EVM من الحبر! اللازمة لاستخدام XVM من عقود WASM. يحتوي على تطبيق لامتداد سلسلة XVM لاستخدامه في العقود الخاصة بك. وكذلك الحبر! عقود SDK التي تنفذ امتداد سلسلة XVM لاستخدامها كما هي.
هذا التنفيذ عبارة عن غلاف لـ ERC20
الأساسي على EVM. التفاعل مع عناوين الركيزة الأصلية. نظرًا لأنه ينفذ نمط التغليف، فإنه يحتوي على وظيفة deposit
withdraw
ويمكن استخدامه كحل بدون جسر بين WASM VM وEVM. إنه يطبق معيار PSP22
، وبالتالي يمكن استخدامه في أي DEX/محفظة تدعمه. يرجى إلقاء نظرة على الاختبارات التي تصف التدفق لاستخدام deposit
withdraw
.
هذا التطبيق عبارة عن غلاف لـ ERC721
الأساسي على EVM. التفاعل مع عناوين الركيزة الأصلية. نظرًا لأنه ينفذ نمط التغليف، فإنه يحتوي على وظيفة deposit
withdraw
ويمكن استخدامه كحل بدون جسر بين WASM VM وEVM. إنه يطبق معيار PSP34
، وبالتالي يمكن استخدامه في أي DEX/محفظة تدعمه.
تمت إضافة تنفيذ ملحق سلسلة XVM إلى XvmDefaultEnvironment
المخصص.
قم باستيراد الصندوق إلى Cargo.toml الخاص بك
أضفه إلى عقدك بالحبر! ماكرو #[ink::contract(env = xvm_sdk::XvmDefaultEnvironment)]
.
استخدمه في عقدك مع self.env().extension().xvm_call(..args)
.
يعرض هذا الصندوق بنية Xvm
التي تنفذ xvm_call باستخدام أداة إنشاء امتداد السلسلة منink_env. يجعله متوافقًا مع البيئات المخصصة الأخرى مثل openbrush. قم بإلقاء نظرة على PSP22 Wrapper للحصول على مثال.
قم باستيراد الصندوق إلى Cargo.toml الخاص بك
استخدم بنية الاستيراد في العقد الخاص بك use xvm_helper::*;
استخدمه مع XvmErc20::transfer(..args)
استنساخ الريبو
تشغيل yarn
بناء الحبر! yarn build:ink
للتشغيل على العقدة المحلية: تأكد من أن لديك عقدة محلية تعمل مع ./target/release/astar-collator --dev -lruntime::contracts=debug -l=runtime=debug,xvm=trace --enable-evm-rpcp
(للحصول على سجلات XVM والحبر!).
ثم قم بإجراء yarn test
.
للتشغيل على Shibuya: أنشئ ملف .env من .env.example واملأه ببيانات الاعتماد الخاصة بك: أضف مفتاح Shibuya EVM الخاص في ACCOUNT_PRIVATE_KEY_EVM
وعبارة مرور Shibuya Substrate في SUBSTRATE_MNEMO
. ثم قم بتشغيل yarn test:shibuya
.