No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Conectando la blockchain con el navegador: Web3.js

14/15
Recursos

Cómo conectarnos a la red de Ethereum

Web3.js es una colección de librerías que interactúan de manera local o remota con tu nodo de Ethereum para una comunicación con la wallet, utilizando protocolos como HTTP, IPC o WebSocket. En RemixIDE puedes encontrar unos ejemplos de archivos web3.js para que los vayas conociendo. Visita el link a la documentación que se proporciona en el área de recursos.

Para este ejemplo, usaremos npm y además un protocolo que se llama JSON RPC.

Procedimiento de uso

  • Ejecuta en tu terminal: $ npm install web3
  • Desde OpenZeppelin, copia el estándar ERC20 que se encuenra en la sección de “Contracts” en su página web
  • Entra a RemixIDE, y pega el código en un nuevo archivo.
  • Revisa en el compilador de Remix que la versión del pragma coincida, además del lenguaje Solidity
  • Haz clic en “Compile”, y revisa que no haya errores en la terminal de Remix.
  • Ahora, entra a tu cuenta de Metemask, y elige la Red de Prueba de Ropsten. Copia tu direccón en el portapapeles
  • Vuelve a Remix, entra a la ventana de “Deploy” y elige en la opción “Environment”: Injected Web3
  • Remix reconoce a que red queremos conectarnos (Ropsten) y la cuenta con la que estamos trabajando (la de Metamask)
  • Da clic en “Deploy” más abajo

Final

La transacción en este momento tardará un poco, pues se estará realizando la solicitud para agregarla a la blockchain. Aquí es donde uno de los mineros validará el proceso. Puedes ver el proceso pendiente en la terminal de RemixIDE.

Al terminar de confirmar la transacción, puedes entrar a tu wallet y comprobar la transacción hecha en el explorador de blockchain por defecto en Metamask. Solo da clic en la transacción, y en la ventana emergente de “Implementación de contrato” del lado superior derecho al lado de “Detalles”, puedes dar clic al vínculo que te llevará a Etherscan.

Si el status de la transacción fue exitosa, marcará con un mensaje en verde que así fue. Ya has ingresado tu primera transacción en una blockchain de prueba. ¡Felicitaciones!

Aporte creado por: Luis Enrique Herrera.

Aportes 18

Preguntas 4

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Web3.js o Ethers.js?? estaría bueno una clase que explique las ventajas y desventajas de uno y del otro… últimamente se esta utilizando mucho ethers.js

web3.js
-es una colección de librerías que te permite interactuar de manera local o remota con tu node de Ethereum ultilizando el protocolo HTTP, IPC o WebSocket
-Desde RemixIDe se pueden encontrar los archivos de ejemplos de ejecución de web3.js

Instalar web3:

npm install web3

Contrato de prueba que se usa en Remix Ide:

// contracts/GLDToken.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract GLDToken is ERC20 {
    constructor(uint256 initialSupply) ERC20("Gold", "GLD") {
        _mint(msg.sender, initialSupply);
    }
}

Al compilar el contrato, recordar cambiar la versión del compilador de Remix a la 0.8.0 que es la que está usando el contrato de pruebas.

En Ganache también se puede realizar, solo deben configurar la red local en el metamask como nueva RPC personalizado

Nombre de la red
Ganache Local
Nueva dirección URL de RPC
localhost:7545
Identificador de cadena * Este puede cambiar la cartera le da el ID correcto al ingresar los datos
1337
Símbolo de moneda
ETH

OpenZeppelin para encontrar tutoriales, documentación, ejemplos, estandares para desarrollar habilidades en generar los smart contracts

Moooi buen curso! para mpezar son esta nueva tecnologia Web3js!

Web3.js

Web3.js es una colección de bibliotecas de JavaScript, que te permiten interactuar con un nodo de Ethereum local o remoto mediante HTTP, IPC o WebSocket.

Al hacerle el deploy al contrato el profe no le puso ni el nombre ni el simbolo al token :c, f por el token

A mi no me aparece en ENVIRONMENT “Injected Web3” lo que hice fue conectar mi MetaMask de la siguente forma:

  1. Secleccionas “Wallet Connect” y te aparecerá un lugar donde copiar tu ID
  2. Copias tu dirección en el que tengas saldo de la Red de prueba.
  3. Y listo, reconoce automáticamente que estamos en la red de Ropsten

Saldo Insuficiente, este Metaverso es muuy parecido a la realidad 😊
.

protocolo JSON-RPC (protocolo Remote Procedure Call)

Siento la misma emoción que cuando me enamore de la programación por primera vez! Esta increíble esto!

Códigos utilizados en esta clase:

  • npm install web3

//Ingresar a OpenZeppelin https://docs.openzeppelin.com/contracts/4.x/erc20

//ingresar a Remix IDE
*Crear archivo EjemploERC20.sol

  • Copiar el siguiente codigo:
// contracts/GLDToken.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract GLDToken is ERC20 {
    constructor(uint256 initialSupply) ERC20("Gold", "GLD") {
        _mint(msg.sender, initialSupply);
    }
}

*Compilar

//Entrar a tu wallet de Metamask y a una cuenta de pruebas Raspten
//Elegir Injected WEb3 en la opcion del deply de Remix IDE
//Elegir cuenta de pruebas de Metamask

//Click en Deploy
//Confirmar operación en Metamask

Les dejo el contrato que se usa como ejemplo 😀

// contracts/GLDToken.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract GLDToken is ERC20 {
    constructor(uint256 initialSupply) ERC20("Gold", "GLD") {
        _mint(msg.sender, initialSupply);
    }
}

Usen sepolia como testnet. Si no la encuentran visible en metamask tienen que ir a la opción de show/hide test networks y ahí dar click para mostrar las testnets de ETH

El profesor está haciendo deploy a otro contrato por lo que veo y no al del ejemplo. En el del ejemplo tenés que ingresar un valor entero para hacer el deploy sino te va a marcar error

RESUMEN CLASE 13:
CONECTANDO LA BLOCKCHAIN
CON EL NAVEGADOR WEB3.JS

  • Es una colección de librerías que te permite interactuar de manera local o remota con tu nodo de Ethereum utilizando el protocolo HTTP, IPC o WebSocket.

  • Desde RemixIDE se pueden encontrar los archivos de ejemplos de ejecución de Web3.js.

Instalar web3.js con : npm install web3