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 鈥淐ontracts鈥 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 鈥淐ompile鈥, 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 鈥淒eploy鈥 y elige en la opci贸n 鈥淓nvironment鈥: Injected Web3
  • Remix reconoce a que red queremos conectarnos (Ropsten) y la cuenta con la que estamos trabajando (la de Metamask)
  • Da clic en 鈥淒eploy鈥 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 鈥淚mplementaci贸n de contrato鈥 del lado superior derecho al lado de 鈥淒etalles鈥, 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?

o inicia sesi贸n.

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 鈥淚njected Web3鈥 lo que hice fue conectar mi MetaMask de la siguente forma:

  1. Secleccionas 鈥淲allet 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