พื้นที่เก็บข้อมูลนี้มีตัวอย่างสัญญาที่ใช้ XVM เพื่อเรียก EVM จากหมึก! จำเป็นต้องใช้ XVM จากสัญญา WASM ประกอบด้วยการใช้งานส่วนขยายลูกโซ่ XVM เพื่อใช้ในสัญญาของคุณ เช่นเดียวกับหมึก! ทำสัญญา SDK ที่ใช้ส่วนขยายลูกโซ่ XVM เพื่อใช้งานตามที่เป็นอยู่
การใช้งานนี้เป็น wrapper ของ ERC20
พื้นฐานบน EVM โต้ตอบกับที่อยู่ของวัสดุพิมพ์ดั้งเดิม เนื่องจากมีการใช้รูปแบบ wrapper จึงมีฟังก์ชัน deposit
และ withdraw
และสามารถใช้เป็นโซลูชันแบบไร้บริดจ์ระหว่าง WASM VM และ EVM ใช้มาตรฐาน PSP22
ดังนั้นจึงสามารถใช้ใน DEX/wallet ที่รองรับได้ โปรดดูการทดสอบที่อธิบายขั้นตอนการใช้ deposit
และ withdraw
การใช้งานนี้เป็น wrapper ของ ERC721
พื้นฐานบน EVM โต้ตอบกับที่อยู่ของวัสดุพิมพ์ดั้งเดิม เนื่องจากมีการใช้รูปแบบ wrapper จึงมีฟังก์ชัน deposit
และ withdraw
และสามารถใช้เป็นโซลูชันแบบไร้บริดจ์ระหว่าง WASM VM และ EVM ใช้มาตรฐาน PSP34
จึงสามารถใช้ใน DEX/wallet ที่รองรับได้
การใช้งานส่วนขยายลูกโซ่ 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)
โคลน repo
วิ่ง yarn
สร้างหมึก! สัญญา yarn build:ink
วิธีรันบนโลคัลโหนด: ตรวจสอบให้แน่ใจว่าคุณมีโลคัลโหนดที่ทำงานด้วย ./target/release/astar-collator --dev -lruntime::contracts=debug -l=runtime=debug,xvm=trace --enable-evm-rpcp
(เพื่อให้มีบันทึก XVM และ ink!)
จากนั้นทำการ yarn test
หากต้องการทำงานบนชิบูย่า: สร้างไฟล์ .env จาก .env.example และกรอกข้อมูลประจำตัวของคุณลงในไฟล์: เพิ่มคีย์ส่วนตัว Shibuya EVM ของคุณใน ACCOUNT_PRIVATE_KEY_EVM
และข้อความรหัสผ่าน Shibuya Substrate ของคุณใน SUBSTRATE_MNEMO
จากนั้นรัน yarn test:shibuya