Una buena practica es dejar las referencias de las direcciones de los contratos en un .env para que sean facilmente modificables.
Introducción al desarrollo con Web3.js
Desarrolla el frontend para el marketplace de PlatziPunks
PlatziPunks: presentación
Qué es Web3.js
Nodos de Ethereum y métodos JSON RPC
¿Qué es Web3?
Setup y stack que utilizaremos
Actualización sobre testnet en Ethereum
Desarrollo frontend con Web3.js
Administrando la conexión a Metamask
Configurando Web3-React
¿Qué es un ABI?
Instanciando el contrato de PlatziPunks
Previsualizando tu PlatziPunk
Habilitando el mint de PlatziPunks
Creando la galería de PlatziPunks
Detalle de PlatziPunk
Transfiriendo un PlatziPunk a otra cuenta
Filtrando los PlatziPunks por cuenta
Despliegue de la aplicación
InterPlanetary File System
Usando IPFS e Infura para subir contenido no censurable
Despliegue de PlatziPunks en IPFS
Usando Fleek para desplegar tu proyecto
Ethereum Name Service
Registrando nuestro ENS y vinculando a PlatziPunks
Sigue desarrollando
Recapitulación de lo aprendido con el proyecto PlatziPunks
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Aportes 5
Preguntas 5
Una buena practica es dejar las referencias de las direcciones de los contratos en un .env para que sean facilmente modificables.
hola yo tenog el siguiente error al comprobar el codigo
Unhandled Rejection (TypeError): platziPunks.methods.maxSupply is not a function
(anonymous function)
C:/Users/monte/Desktop/platzi-punks/platzi-punks-interface/src/views/home/index.js:13
10 |
11 | const getMaxSupply = useCallback(async () => {
12 | if (platziPunks) {
13 | const result = await platziPunks.methods.maxSupply().call();
| ^ 14 | setMaxSupply(result);
15 | }
16 | }, [platziPunks]);
compare con el archivos de los recuros y esta todo igual
¡Y listo!
No me muestra el archivo Home, solo el diseño de la pagina. Y me sale este error en la consola:
Matched leaf route at location "/" does not have an element. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.
“Ahora que ya sabés cual es el propósito del ABI y cómo se conforma, lo siguiente que tenemos que hacer es implementarlo dentro de nuestra aplicación para tener una instancia del contrato inteligente disponible para su uso posterior. Esto nos va a a ayudar en abstraer los métodos de nuestro contrato ya que los podremos consumir desde cualquiera de las vistas que vamos a estar desarrollando”
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?