Brownie Web3 – Desarrolle contratos inteligentes de Ethereum usando Python
Comparta conocimientos básicos sobre Brownie Web3 y amplíe cómo usarlo para desarrollar contratos inteligentes de Ethereum implementados en la cadena de bloques.
Para los desarrolladores de contratos inteligentes Web3.0, Brownies hace que su vida sea mucho más fácil para desarrollar, importar, probar y depurar contratos inteligentes implementados en la red de cadena de bloques Ethereum. Además, le facilita configurar transacciones, métodos y variables para interactuar con Ethereum.
Desde entonces, repasaré los conocimientos básicos sobre Brownie y ampliaré cómo usar Brownie para desarrollar contratos inteligentes de Ethereum e implementarlos en la red de cadena de bloques.
Brownie Web3.0: ingredientes para desarrollar contratos inteligentes de Ethereum que interactúan con la red de criptomonedas
Brownie, Python, Infura, os, Ganache, MetaMask, red de prueba ETH Goerli
Tabla de contenidos
- que es brownie
- Activar Brownie e Instalar Ganache Local Blockchain Instalación
- Cree el primer contrato inteligente e impleméntelo en Ganache CLI
- Agregue una nueva cuenta y Connet a la red de prueba real
- Pruebe y depure sus contratos inteligentes
- Consola Brownie para cualquier prueba y desarrollo de funciones Adhoc
- Script Python completo de Brownie Web3.0: desarrolle contratos inteligentes y active la interacción con ETH usando Brownie y Python
que es brownie
Brownie es un marco amigable y fácil de usar para desarrollar contratos inteligentes de Ethereum. El principal valor de su ámbito de funciones tiene 3 aspectos:
Implemente los contratos inteligentes necesarios en las redes blockchain
Cree diferentes tipos y propósitos de contratos inteligentes e impleméntelos en la cadena de bloques como Ethereum. Y puede crear e iniciar cualquier elemento transaccional que sea importante en la interacción con la cadena de bloques.
Interactuar con los contratos inteligentes
El marco de Brownie y la ruta de la carpeta le permiten escribir scripts o usar la consola de Brownie para interactuar con los contratos inteligentes implementados en la red principal. O puede implementar UAT en un entorno de cadena de bloques local, por ejemplo: Ganache
Pruebe los contratos inteligentes en desarrollo
Brownie proporciona un entorno de prueba de desarrollo de contrato inteligente rápido, amigable y fácil de usar y las funciones relacionadas para implementar la prueba. Por ejemplo, puede obtener información detallada cuando se revierte una transacción para ayudarlo a identificar el problema rápidamente.
Activar Brownie e Instalar Ganache Local Blockchain Instalación
Paso 1: Instalación de Brownie
Tome el entorno MacOS, por ejemplo. Lo primero es lo primero, necesitamos instalar un entorno visual para Brownie escribiendo la línea de códigos de la siguiente manera en la terminal.
Python3 -m pip install –user pipx
Python3 -m pipx ensure path
Una vez finalizada la instalación, asegúrese de cerrar el terminal para evitar conflictos o activar el entorno visual.
Luego, ingrese la línea de códigos de la siguiente manera para instalar Brownie
Pips install eth-brownie
Para verificar si lo ha instalado en su Mac, podemos escribir el comando de verificación, que es lo mismo que cualquier otra verificación de paquete.
Paso 2: Cree la primera carpeta y proyecto de secuencia de comandos de Brownie
Supongo que ha creado una nueva carpeta en su software de codificación, por ejemplo: código de estudio visual. Ahora podemos intentar crear un nuevo proyecto de brownie. Aquí está el código para la iniciación de la siguiente manera:
Brownie init
Una vez que se realiza la iniciación, así como la instalación de reacción, la carpeta Brownie aparece con una lista de carpetas de forma predeterminada. Son las carpetas que tienen diferentes funciones así:
- Construir
- Contratos
- Interfaces
- Informes
- Guiones
- Pruebas
Paso 3: Instale la CLI local de Ganache
Brownie funciona de forma predeterminada con Ganache CLI en la terminal, que es un entorno visual de cadena de bloques local. En nuestro artículo anterior, el script se conecta directamente a la versión de la interfaz de usuario web. Esta vez requiere que instalemos Ganache CLI.
- Descargue
node.js
(Aquí está la versión de macOS) e instálelo en el dispositivo - Comando:
npm install –global yarn
. Necesitamos instalar yarn, que es un administrador de paquetes que en realidad nos permite descargar piezas y paquetes como Ganache CLI. Asegúrese de agregarsudo
si su dispositivo puede responder que no tiene permiso para instalar yarn. - Instale Ganache CLI usando los comandos:
yarn global add ganache-cli
. Nuevamente, asegúrese de agregarsudo
si su dispositivo lo rechaza nuevamente.
Cree el primer contrato inteligente e impleméntelo en Ganache CLI
Añadir el contrato inteligente
En las carpetas de contratos de Brownie, es para que usted guarde el archivo de contrato inteligente, como easy2digitalStore.sol
. Después de agregar el archivo en esta carpeta, puede ingresar esta línea de código de la siguiente manera:
Brownie compile
Una vez que compila el archivo sol dado, puede ver toda la información compilada guardada en la carpeta de compilación en la carpeta del contrato en formato JSON.
Despliegue en la cadena de bloques ETH
Lo primero es lo primero, necesitamos crear un nuevo archivo de Python en la carpeta del script
Deployment.py
En el script, necesitamos usar el método de un brownie, que es las accounts()
, que es para interactuar con la cadena de bloques visual local, Ganache CLI. Aquí están los ejemplos de código siguientes:
Import brownie import accounts
def single_contract():
localGanacheAccount = accounts[0]
print(localGanacheAccount)
Def main():
single_contracct()
Y podemos usar la ejecución de brownie para activar el script de python en la terminal.
Agregue una nueva cuenta y conéctese a la red de prueba real
Podemos crear una nueva cuenta en lugar de usar la CLI de Ganache. Aquí están tanto el comando como el código de la siguiente manera:
En terminales:
Brownie accounts new easy2digitalAccount-account
Luego, debe agregar una clave privada para esta nueva cuenta. Podemos copiar la clave privada de MetaMask y pegarla aquí.
Por último, pero no menos importante, Brownie encriptaría su clave privada usando una contraseña. Por lo tanto, simplemente ingrese una contraseña como desee.
Si intenta ejecutar usando el método de carga para buscar la nueva cuenta que acaba de crear, se verá como este resultado de la siguiente manera:
Conéctese a una red de prueba real
Brownie proporciona una lista de redes declaradas. Si desea verificar, simplemente ingrese el comando lista de redes brownie en la terminal.
En el artículo anterior, usamos Infura como una plataforma de terceros para conectarnos a Ethereum. Así que aquí también usaríamos INFURA.
Lo primero es lo primero, necesitamos un protocolo de proveedor HTTP de INFURA. En Brownie, tenemos un método para conectar con Infura. Agregue esto al .env
WEB3_INFURA_PROJECT_ID = your infura http endpoint unique ID.
Luego, en lugar de obtener la cuenta de Ganache CLI, ahora necesitamos obtener la cuenta de su red de prueba Goerli de MetaMask.
Agregue la clave privada que desea agregar, como la billetera MetaMask. Asegúrese de agregar 0x antes de la clave privada de MetaMask. Aquí tenemos que hacer tres cosas.
- Cree una función get_account que busque la información de la clave privada de la billetera MetaMask
- Agregue el archivo
brownie-config.yaml
en la carpeta del directorio principal para conectarse con .env, que incluye la clave privada y la ID única del terminal INFURA - Reemplace account[0] con get_account() en el script de prueba de Ganache Cli.
Por último, debemos decirle a Infura qué red de prueba ETH usará el script de python. Como usamos goerili en el artículo anterior, aquí use el mismo ingresando el comando en la terminal
Brownie run scripts/deployment.py –network goerli
Una vez que esté conectado, puede ir a la sección de implementación en la carpeta de compilación, se genera un archivo JSON de mapa.
Pruebe y depure sus contratos inteligentes
Una de las características poderosas de Brownie debe ser el entorno de prueba. Los desarrolladores de contratos inteligentes pueden implementar el UAT y corregir los errores antes de comenzar.
Vamos a crear un script tan bien como el script deployment.py que creamos en la carpeta de prueba.
Lo primero es lo primero, Brownie es muy conveniente porque puede permitir a los desarrolladores importar directamente el contrato inteligente en el script de python.
Aquí está el ejemplo de código:
From brownie import easy2idigitalContract, accounts
Entonces podemos usar directamente el nombre del contrato con el método deploy()
para implementar la cuenta en una cadena de bloques. Por ejemplo:
Def test_deployment():
##Arrange a specific smart contract address
walletAccount = accounts[0]
##Deploy the contract to the account
Single_contract = easy2idigitalContract.deploy({“from”: walletAccount})
Starting_value = single_contract.retrieve()
En segundo lugar, como es una prueba, debemos verificar si el valor recuperado es igual al valor esperado que debería ser. Así que aquí está la muestra de códigos de la siguiente manera:
Expected == 0
Assert starting_value == expected
Luego, ingrese el comando en la terminal para ver si el valor es igual. Si el resultado es aprobado, se mostrará aprobado en color verde.
Brownie test
Consola Brownie para cualquier prueba y desarrollo de funciones Adhoc
Para la prueba del script, si desea crear un shell o una consola para probar y ejecutar el script. Puede intentar ingresar el código de la siguiente manera, donde puede actualizar directamente el script e imprimirlo para obtener el resultado de inmediato.
Brownie test –pdb
Script Python completo de Brownie Web3.0: desarrolle contratos inteligentes y active la interacción con ETH usando Brownie y Python
Si está interesado en el tutorial Web3.0 3 – Brownie en Web3.0 – Desarrollar contratos inteligentes de Ethereum interactuando con la red de criptomonedas usando Brownie y Python, suscríbase a nuestro boletín de noticias agregando el mensaje "Web3.0 tutorial 3" . Le enviaremos el guión inmediatamente a su buzón.
Espero que disfrute leyendo el tutorial 3 de Web3.0: Brownie en Web3.0: desarrolle contratos inteligentes de Ethereum interactuando con la red de criptomonedas usando Brownie y Python. nuestro canal
- Apoya y dona a mi canal a través de PayPal ( paypal.me/Easy2digital )
- Suscríbete a mi canal y activa la campanita de notificaciones Easy2Digital Youtube channel .
- Sigue y dale me gusta a mi página Easy2Digital Facebook page
- Comparte el artículo en tu red social con el hashtag #easy2digital
- Te suscribes a nuestro boletín semanal para recibir los últimos artículos, videos y códigos de descuento de Easy2Digital
- Suscríbase a nuestra membresía mensual a través de Patreon para disfrutar de beneficios exclusivos ( www.patreon.com/louisludigital )