¡Este repositorio contiene ejemplos de contratos que utilizan XVM para llamar a EVM desde ink! necesario para utilizar XVM de contratos WASM. Contiene una implementación de extensión de cadena XVM para usar en sus contratos. ¡Además de tinta! contrata el SDK que implementa la extensión de cadena XVM para usarse tal como está.
Esta implementación es un contenedor de un ERC20
subyacente en EVM. Interactuar con direcciones de sustrato nativas. Como implementa un patrón contenedor, tiene función deposit
y withdraw
y puede usarse como una solución sin puente entre WASM VM y EVM. Implementa el estándar PSP22
, por lo que se puede utilizar en cualquier DEX/billetera que lo admita. Eche un vistazo a las pruebas que describen el flujo para utilizar deposit
y withdraw
.
Esta implementación es un contenedor de un ERC721
subyacente en EVM. Interactuar con direcciones de sustrato nativas del sustrato. Como implementa un patrón contenedor, tiene función deposit
y withdraw
y puede usarse como una solución sin puente entre WASM VM y EVM. Implementa el estándar PSP34
y, por lo tanto, se puede utilizar en cualquier DEX/billetera que lo admita.
Implementación de la extensión de cadena XVM agregada a un XvmDefaultEnvironment
personalizado.
Importa la caja en tu Cargo.toml
¡Añádelo a tu contrato con tinta! macro #[ink::contract(env = xvm_sdk::XvmDefaultEnvironment)]
.
En su contrato, utilícelo con self.env().extension().xvm_call(..args)
.
Esta caja expone la estructura Xvm
que implementa xvm_call con el generador de extensiones de cadena de ink_env. Lo hace compatible con otros entornos personalizados como openbrush. Eche un vistazo a PSP22 Wrapper como ejemplo.
Importa la caja en tu Cargo.toml
Importe estructura en su contrato use use xvm_helper::*;
Úselo con XvmErc20::transfer(..args)
Clonar el repositorio
correr yarn
¡Construye tinta! contratos yarn build:ink
Para ejecutar en un nodo local: asegúrese de tener un nodo local ejecutándose con ./target/release/astar-collator --dev -lruntime::contracts=debug -l=runtime=debug,xvm=trace --enable-evm-rpcp
(para tener registros XVM y ink!).
Luego ejecute yarn test
.
Para ejecutar en Shibuya: cree un archivo .env desde .env.example y rellénelo con sus credenciales: agregue su clave privada de Shibuya EVM en ACCOUNT_PRIVATE_KEY_EVM
y su contraseña de Shibuya Substrate en SUBSTRATE_MNEMO
. Luego ejecuta yarn test:shibuya
.