該儲存庫包含使用 XVM 從 ink 呼叫 EVM 的範例合約!需要使用 WASM 合約中的 XVM。它包含在您的合約中使用的 XVM 鏈擴充的實作。還有墨水!實現 XVM 鏈擴展的合約 SDK 原樣使用。
實作是 EVM 上底層ERC20
的包裝。與本機底層位址互動。由於它實現了包裝器模式,因此具有deposit
和withdraw
功能,並且可以用作 WASM VM 和 EVM 之間的無橋解決方案。它實現了PSP22
標準,因此可以在任何支援它的DEX/錢包中使用。請查看描述deposit
和withdraw
使用流程的測試。
此實作是 EVM 上底層ERC721
的包裝。與基底本機基底位址互動。由於它實現了包裝器模式,因此具有deposit
和withdraw
功能,並且可以用作 WASM VM 和 EVM 之間的無橋解決方案。它實現了PSP34
標準,因此可以在任何支援它的DEX/錢包中使用。
新增至自訂XvmDefaultEnvironment
的 XVM 鏈擴充的實作。
將板條箱匯入您的 Cargo.toml 中
用墨水將其添加到您的合約中!巨集#[ink::contract(env = xvm_sdk::XvmDefaultEnvironment)]
。
在您的合約中將其與self.env().extension().xvm_call(..args)
一起使用。
該板條箱公開了Xvm
結構,該結構使用 ink_env 中的鏈擴充建構器實作 xvm_call。它使其與其他自訂環境(如 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 和 ink!日誌)。
然後運行yarn test
。
要在 Shibuya 上執行:從 .env.example 建立一個 .env 檔案並填寫您的憑證:在ACCOUNT_PRIVATE_KEY_EVM
中新增您的 Shibuya EVM 私鑰,並在SUBSTRATE_MNEMO
中新增您的 Shibuya Substrate 密碼。然後運行yarn test:shibuya
。