Implementación de contratos de solidez en M1 usando Hardhat y Fractal
Este tutorial lo guiará en la implementación de un contrato inteligente de Solidity en M1 usando Fractal Transpiler y Hardhat.
Nuestro kit de herramientas
¿Qué es el casco?
Hardhat es una potente cadena de herramientas de desarrollo de contratos inteligentes de Javascript para máquinas virtuales Ethereum.
¿Qué es Fractal?
Fractal es el transpilador de Movement Labs que permite a cualquier desarrollador implementar cualquier contrato inteligente de Solidity en M1, una máquina virtual basada en lenguaje Move , convirtiendo efectivamente el código de Solidity en código Move, heredando todas las propiedades de seguridad disponibles de forma nativa para los contratos inteligentes de Move.
Requisitos previos
Antes de comenzar este tutorial, deberá:
Paso 1: Financia tu billetera con tokens MOV
Financia una dirección de billetera EVM con algunos MOV
tokens usando nuestro faucet . Otro método para obtener MOV
es conectar desde M1 a su billetera EVM usando nuestro puente . Para conectarse a nuestra testnet y verificar si ha recibido los MOV
tokens, puede seguir los siguientes pasos:
Agregue la red move-evm a su billetera compatible con EVM.
Propiedad
Valor
Nombre de red
mover-evm
RPC de red
https://mevm.devnet.m1.movementlabs.xyz
Identificación de red
0x0150
Moneda de la red
MOVIMIENTO
Asegúrese de haber cambiado su red Wallet a la red agregada anteriormente, es decir,
move-evm
.
Paso 2: Configure su proyecto Hardhat
Crea el directorio de tu proyecto:
Copiar
Y accede a él:
Copiar
Inicie su proyecto Hardhat:
Copiar
Sigue los pasos y elige tus preferencias. Aquí revisaremos los valores predeterminados y elegiremos un proyecto de JavaScript. Llamamos al proyecto hardhat-move-evm.
Si no ha aceptado la instalación de la dependencia, hágalo. Si está realizando una instalación personalizada, asegúrese de utilizar las dependencias correctas:
Copiar
Asegúrese de instalar también dotenv:
Copiar
Abra el proyecto en su editor favorito. Aquí estamos usando VSCode
Copiar
Crear un archivo .env
Copiar
Agregue su clave privada al archivo .env. Puede obtener su clave privada de su billetera EVM con la que financió MOV
. Por ejemplo, si está utilizando MetaMask , puede encontrar su clave privada en Configuración > Avanzado > Exportar clave privada. Asegúrese de mantener segura su clave privada y nunca la comparta con nadie.
Copiar
En la carpeta raíz podrá encontrar hardhat.config.js
. Este es el archivo de configuración del casco. Agregue configuraciones de red M1 reemplazando su contenido con lo siguiente:
Copiar
Paso 3: escriba su contrato de Solidity
Aquí introduciremos cambios mínimos en nuestros contratos para hacerle la vida más fácil. No hay nada intrínseco aquí que sea específico de M1. Puede redactar sus contratos como lo haría normalmente.
Debajo contracts/
abra el archivo Lock.sol. Este es el contrato inteligente que implementará en M1. Puede reemplazar el contenido de este archivo con su propio contrato.
Copiar
Tienes una variable de estado unlockTime
y una función withdraw
para retirar los fondos del contrato.
Ahora, en scripts
, abra el archivo deploy.js
. Este es un script simple que usaremos para implementar nuestro contrato en M1. Puede reemplazar el contenido de este archivo con su propio script.
Copiar
Esto implementará el contrato disponible en contratos/Lock.sol. Puedes jugar con él y cambiar su lógica, ¡siéntete libre de probar cosas!
Paso 4: Implemente su contrato de Solidity
Para implementar su contrato, ejecute el siguiente comando:
Copiar
Después de ejecutarlo, deberías ver un mensaje similar en tu consola:
Copiar
¡Éxito! Ha implementado exitosamente su contrato usando Hardhat. Ahora debería poder interactuar con el contrato proporcionado en el mensaje anterior.
Paso 5: interactúe con su contrato de Solidity
Ahora que tienes tu contrato, también puedes interactuar con él usando Hardhat. Para ello, escribiremos otro guión. En script
, cree un nuevo archivo withdraw.js
y agregue el siguiente contenido:
Copiar
Asegúrese de reemplazar <lockAddress>
con la dirección de su contrato implementado. Puede encontrarlo en el mensaje impreso en su consola después de implementar su contrato.
Ahora, todo lo que tienes que hacer es ejecutar el siguiente comando:
Copiar
Si tiene éxito, debería ver el siguiente mensaje:
Copiar
¡Eso es todo! Si está acostumbrado a implementar contratos en redes EVM, debería sentirse como en casa. Si no es así, esperamos que este tutorial haya sido útil y que ahora esté listo para trabajar en su contrato, implementar sus propios contratos y continuar construyendo en M1.
Si desea obtener más información sobre M1 e implementar contratos Move, consulte la documentación .
No dudes en comunicarte con nosotros en Discord si tienes algún problema, pregunta o comentario. ¡Nos encantaría saber de usted!
Last updated