Logo

dev-resources.site

for different kinds of informations.

Introduciendo Web3 con Angular usando Truffle Box — Aplicaciones Descentralizadas al alcance de todos

Published at
9/29/2021
Categories
angular
blockchain
web3
truffle
Author
antoniocardenas
Categories
4 categories in total
angular
open
blockchain
open
web3
open
truffle
open
Author
15 person written this
antoniocardenas
open
Introduciendo Web3 con Angular usando Truffle Box — Aplicaciones Descentralizadas al alcance de todos

¿Es posible crear una DAPP (Aplicación descentralizada) con Angular? La respuesta es sí, y es más fácil de lo que creerías. Pero antes necesitamos tener en claro algunos conceptos claves:

¿Qué es una DAPP?

Es una aplicación que no depende de un sistema central, sino que depende de la comunidad de usuarios que la utilizan, una DAPP puede ser una app móvil o una aplicación web que interactúa con un contrato inteligente, el cual ejecuta todas las funciones.

¿Qué dependencias necesito?

  • Git
  • Node & NPM
  • Ganache
  • Metamask
  • Angular-Cli

Instalamos el CLI de Angular y Truffle para descargar la "truffle box"en la cual estará todo lo que necesitemos para nuestra DAPP.

npm install -g truffle
npm install -g @angular/cli
npm install -g ganache-cli
Enter fullscreen mode Exit fullscreen mode
  1. Descargamos la truffle box En la terminal nos aparecerá un mensaje de éxito una vez que todo finalice y nos mostrara los comandos necesarios para nuestra aplicación truffle unbox ng-es/angulartruffledapp
  2. Lanzamos el cliente de Ethereum, podemos usar la terminal o descargarlo desde : https://truffleframework.com/ganache
ganache-cli
Enter fullscreen mode Exit fullscreen mode

Si tienes instalada una versión antigua es recomendable actualizar debido a que versiones antiguas tienen un bug que marca como 0 el gas y la transacción no se podrá llevar a cabo
4.Compilar y migrar el contrato inteligente
Para migrar el contrato inteligente de la truffle box debemos ejecutar el siguiente comando en la terminal dentro de el directorio blockchain/contracts :

npm install dotenv && npm install truffle-hdwallet-provider
truffle compile && truffle migrate
Enter fullscreen mode Exit fullscreen mode

En el cli veremos la información de compilación y migración de nuestro contrato así como en ganache los una vez compilado nuestro contrato veremos dentro de build/contracts dos archivos .JSON uno de ellos es el de migración y el otro nuestro contrato, ahora tenemos menos ether debido a la comisión por transacción.

  1. Cambiar el puerto de ganache
Cambiar el puerto en truffle-config.js 8545 en windows el puerto es 7545 pero en linux el puerto es 8545, también puede variar si se usa el cli o la version gráfica.
Enter fullscreen mode Exit fullscreen mode
  1. Instalar Metamask Ingresa en la página https://metamask.io/ y descarga el plugin para el navegador de tu preferencia.

Metamask es un plugin que hace de puente entre varias DAPS y tu navegador, es un monedero virtual en el cual puedes conectarte sin comprometer la seguridad de nuestras cuentas usando varias cuentas y sin necesidad de usar un nodo de Ethereum completo.

Una vez creada la cuenta nos conectaremos a la cuenta con un RPC personalizado el cual es HTTP://127.0.0.1:7545 o 8545, en el icono de la llave obtendremos la clave privada con la que importaremos una nueva cuenta.

Alt Text

7.Ahora debemos instalar dependencias y Desplegar el servidor local de Angular, navegamos a la carpeta Frontend usando el comando

npm install && ng serve 
Enter fullscreen mode Exit fullscreen mode

Si seguiste todos los pasos y el mensaje en la consola de truffle durante el unbox es: Unbox successful. Sweet! Felicidades, todo está bien.

Al iniciar la aplicación encontrarás un mensaje de bienvenida y en la sección de cuenta la cuenta actual de metamask , y listo ya tendrás preparada una aplicación descentralizada con angular la cual podrás modificar, mejorar y adaptar a tus necesidades. Sólo debes cambiar el contrato en la carpeta Blockchain\contracts\Payment.Sol y también en la carpeta Frontend\src\app\services\contract\contract.service.ts en el cual cambias el nombre con tu propio contrato ademas de cambiar las funciones y directivas para interactuar con el contrato ,en nuestras próximas entradas veremos cómo modificar estos archivos.
Puedes ver mas proyectos en :
https://www.trufflesuite.com/boxes/angulartruffledapp

Un proyecto bien cool creado a partir del código basé :

Pagina de el evento https://hackathonmunon.web.app/
La aplicación https://hackathonmunon.web.app/ si deseas probarla conectate a la red de prueba rinkeby en metamask.

También puedes unirte a nuestra comunidad donde hablamos de temas de desarrollo y blockchain
https://discord.gg/kkPeavTNDy

truffle Article's
30 articles in total
Favicon
Hardhat vs Truffle: Which One Is the Best for Developing Ethereum dApps?
Favicon
Help Me With Ubuntu Terminal...
Favicon
How to write, test and deploy Ethereum smart contracts using Truffle
Favicon
Create & deploy an ERC-20 token in 15 minutes (Truffle, OpenZeppelin, Goerli)
Favicon
How to Run Ganache in a Browser
Favicon
121 ethereum truffle : Writing automated smart contract tests
Favicon
11Z ethereum truffle : Deploying and interacting with smart contracts
Favicon
11X ethereum truffle : Developing smart contracts
Favicon
how to use web3.js instead of Ethers in react Dapp and connect to hardhat node
Favicon
Truffle React box using functional Components
Favicon
Build a simple dApp using truffle, ganache, Ethers.js and React(1)
Favicon
How To Mint an NFT on Polygon
Favicon
Hardhat vs Truffle: Which one is better for writing Smart Contracts?
Favicon
Interactuar con contratos en Ethereum
Favicon
Tutorial: Play with Truffle & Ganache
Favicon
has no network configuration for its current network id (5777).
Favicon
Roadmap to become a Blockchain developer
Favicon
How to Fork Ethereum and Replay Historical Transactions with Ganache 7 Archive Support
Favicon
Deploy your smart contracts on any Ethereum network
Favicon
TruffleでGoerliネットワークにコントラクトをデプロイする
Favicon
A Guide to Building, Testing, and Deploying your First DApp with Truffle, Ethers.js, Ganache, and React.
Favicon
Introduciendo Web3 con Angular usando Truffle Box — Aplicaciones Descentralizadas al alcance de todos
Favicon
HardHat: "Hola Mundo!" en un Blockchain de Prueba
Favicon
Using React with Truffle
Favicon
Interacting with Truffle
Favicon
Introducing Truffle
Favicon
How to configure Truffle to connect to RSK
Favicon
Avoiding Call Revert Exception Error when accessing Truffle Ganache via Ethers in Node
Favicon
Short, sharp Solidity: pure vs view vs call
Favicon
Decomposing a BigNumber in Truffle Console

Featured ones: