Este repositório contém exemplos de contratos usando XVM para chamar EVM do ink! necessário para usar XVM de contratos WASM. Ele contém uma implementação de extensão de cadeia XVM para usar em seus contratos. Assim como tinta! contrata SDK que implementa extensão de cadeia XVM para ser usado como está.
Esta implementação é um wrapper de um ERC20
subjacente no EVM. Interaja com endereços de substrato nativos. Como implementa o padrão wrapper, possui função deposit
e withdraw
e pode ser usado como uma solução sem ponte entre WASM VM e EVM. Implementa o padrão PSP22
, portanto pode ser usado em qualquer DEX/carteira que o suporte. Por favor, dê uma olhada nos testes que descrevem o fluxo para usar deposit
e withdraw
.
Esta implementação é um wrapper de um ERC721
subjacente no EVM. Interaja com endereços de substrato nativos do substrato. Como implementa o padrão wrapper, possui função deposit
e withdraw
e pode ser usado como uma solução sem ponte entre WASM VM e EVM. Ele implementa o padrão PSP34
e, portanto, pode ser usado em qualquer DEX/carteira que o suporte.
Implementação da extensão da cadeia XVM adicionada a um XvmDefaultEnvironment
personalizado.
Importe a caixa em seu Cargo.toml
Adicione-o ao seu contrato à tinta! macro #[ink::contract(env = xvm_sdk::XvmDefaultEnvironment)]
.
No seu contrato, use-o com self.env().extension().xvm_call(..args)
.
Esta caixa expõe a estrutura Xvm
que implementa xvm_call com o construtor de extensão de cadeia de ink_env. Isso o torna compatível com outros ambientes personalizados como o openbrush. Dê uma olhada no PSP22 Wrapper para ver um exemplo.
Importe a caixa em seu Cargo.toml
Import struct em seu contrato use use xvm_helper::*;
Use-o com XvmErc20::transfer(..args)
Clonar o repositório
Corra yarn
Construa tinta! contrata yarn build:ink
Para executar no nó local: certifique-se de ter um nó local em execução com ./target/release/astar-collator --dev -lruntime::contracts=debug -l=runtime=debug,xvm=trace --enable-evm-rpcp
(para ter logs XVM e ink!).
Em seguida, execute yarn test
.
Para executar no Shibuya: Crie um arquivo .env em .env.example e preencha-o com suas credenciais: Adicione sua chave privada Shibuya EVM em ACCOUNT_PRIVATE_KEY_EVM
E sua senha do Shibuya Substrate em SUBSTRATE_MNEMO
. Em seguida, execute yarn test:shibuya
.