Implementación de contratos de solidez en movimiento utilizando Foundry y Fractal
Last updated
Last updated
Este tutorial lo guiará en la implementación de un contrato inteligente de Solidity en M1 usando Fractal y Foundry.
¿Qué es la fundición?
Foundry es una poderosa cadena de herramientas de desarrollo de contratos inteligentes para máquinas virtuales Ethereum.
¿Qué es Fractal?
Fractal es el intérprete 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.
Antes de comenzar este tutorial, deberá:
Paso 1: Financia tu billetera con tokens MOVE
Financia una dirección de billetera EVM con algunos MOVE
tokens usando nuestro faucet . Otro método para obtener MOVE
es conectar desde M1 a su billetera EVM usando nuestro puente . Para conectarse a nuestra testnet y verificar si ha recibido los MOVE
tokens, puede seguir los siguientes pasos:
Agregue la red move-evm a su billetera compatible con EVM.
Asegúrese de haber cambiado su red Wallet a la red agregada anteriormente, es decir, move-evm
.
Paso 2: configura tu proyecto Foundry
Si no tienes un directorio específico para tu proyecto, crea uno y accede a él:
Copiar
Copiar
Ábrelo en tu editor favorito. Aquí estamos usando VSCode
Copiar
Inicie su proyecto de fundición. Esto creará un foundry.toml, un README.md y algunas carpetas, lib, script, src y test.
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ó MOVE
. 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
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 src/
abra el archivo Counter.sol. Este es el contrato inteligente que implementará en M1. Puede reemplazar el contenido de este archivo con su propio contrato.
Copiar
Tiene una variable de estado number
y dos funciones, setNumber
y increment
puede establecer su valor number
e incrementarlo respectivamente.
Ahora, en script
, abra el archivo Counter.s.sol
. 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 src/Counter.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 Foundry. Ahora debería poder interactuar con el contrato proporcionado en el mensaje anterior.
Paso 5: interactúe con su contrato de Solidity
Ahora que tiene su contrato, también puede interactuar con él usando Foundry. Para ello, escribiremos otro guión. En script
, cree un nuevo archivo Interact.s.sol
y agregue el siguiente contenido:
Copiar
Asegúrese de reemplazar <counterAddress>
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!
Propiedad
Valor
Nombre de red
mevm
RPC de red
https://mevm.devnet.m1.movementlabs.xyz/v1/
Identificación de red
0x0150
Moneda de la red
MOVER