No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Compra acceso a todo Platzi por 1 a帽o

Antes: $249

Currency
$209/a帽o

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscr铆bete

Termina en:

14D
9H
23M
18S

Truffle Suite

12/15
Recursos

Instalaci贸n

Seguiremos unos cuantos pasos para instalar dos de los componentes de la suite: Truffle y Ganache. Para esto, necesitar谩s ya tener instalado Node.js y npm. Tambi茅n te sugerimos usar una extensi贸n para VS Code, se llama 鈥淪olidity鈥 y su autor es Juan Blanco.

Truffle

  1. Ingresa a la p谩gina www.trufflesuite.com
  2. Abre una terminal con bash (CLI), y en el directorio principal ejecuta el comando: $ npm update -g
  3. Al t茅rmino del proceso, escribe: $ npm install -g truffle
  4. Para comprobar que todo sali贸 bien y revisar la versi贸n instalada, ejecuta: $ truffle --version

Ganache

Para la versi贸n de escritorio:

  1. Visita www.trufflesuite.com/ganache
  2. El sitio web reconoce tu SO, solo debes dar clic en el bot贸n de descarga
  3. Al t茅rmino, puedes encontrar el logo de Ganache ya disponible. Abre la aplicaci贸n
  4. Al elegir 鈥淨uickstart鈥, se abrir谩 la interfaz general. En la parte superior se encuentra el men煤 de las ventanas principales: Accounts, Blocks, Transactions, Contracts, Events y Logs

Para la versi贸n de CLI:

  1. Ejecuta el comando: $ npm install -g ganache-cli
  2. Posteriormente, ejecuta el siguiente comando para verificar: $ ganache-cli --version
  3. Para iniciar el programa, ejecuta: $ ganache-cli

Ambas versiones de Ganache sirven para lo mismo, es solamente cuesti贸n de elegir una o incluso usar las dos.

Empecemos a entrar en Blockchain

Es momento de emplear estas herramientas para un ejercicio pr谩ctico. Recuerda que para todo aquello con lo que no estes familiarizado, en Platzi contamos con los cursos complementarios que te ayudar谩n a seguir mejor cualquier procedimiento.

Vamos a desplegar un sencillo contrato, empezando con la herramienta Truffle:

  1. En tu terminal, crea un directorio nuevo, que es donde iniciar谩s Truffle: $ take hello-blockchain
  2. Una vez adentro de la carpeta 鈥渉ello-blockchain鈥, ejecuta: $ truffle init
  3. Ver谩s el mensaje 鈥淚nit succesful, sweet!鈥, unas l铆neas m谩s abajo, si todo sali贸 bien.
  4. En la misma carpeta, ejecuta lo siguiente para abrir el directorio dentro de VS Code: $ code .

Ya est谩s cada vez m谩s cerca de lograr algo asombroso. Aunque no lo creas, el n煤mero de personas anim谩ndose a probar nuevas tecnolog铆as como esta es bastante inferior si lo comparamos al resto. Sigue as铆 馃槂

VS Code y Truffle

Entonces, procederemos a visualizar la carpeta y los archivos que has descargado:

  1. En VS Code, encontrar谩s las carpetas: 鈥渃ontracts鈥, 鈥渕igrations鈥,鈥渢est鈥 y 鈥渢ruffle-config.js鈥
  2. Dir铆gete a esta 煤ltima, y busca la l铆nea 鈥渄evelopment鈥. Descomenta esa y las siguientes tres l铆neas hasta la que dice 鈥渘etwork_id鈥. Se encuentran cerca de la l铆nea 40
  3. Despu茅s, dir铆gete a la carpeta 鈥渃ontracts鈥 y crea un nuevo archivo llamado: 鈥淗elloBlockchain.sol鈥 (sin ning煤n cambio para que no haya problemas)
  4. Copia en el editor de este archivo el c贸digo que se proporciona en el 谩rea de recursos, el que se indica para el contrato de Solidity
  5. Ahora, dir铆gete a la carpeta 鈥渕igrations鈥 y crea un archivo llamado 鈥2_hello_blockchain.js鈥
  6. Copia el c贸digo del 谩rea de recursos, el que se indica como聽script聽de despliegue en ese archivo nuevo
  7. Abre dos ventanas de terminal. Una para Ganache y otra para Truffle
  8. En una de ellas, ejecuta: $ ganache-cli (al final, es importante que arroje un mensaje 鈥淟istening on 127.0.0.1:8545鈥)
  9. En la otra ventana, ejecuta: $ truffle console --network development

Ya falta poco

隆Muy bien!, si ya llegaste a este punto significa que est谩s por dar tus primeros pasos reales como desarrollador blockchain.

Recapitulemos un poco: hasta ahora, hemos instalado un entorno b谩sico y ya cuentas con la magia de Truffle para poder hacer contratos de una forma m谩s c贸moda y r谩pida. Al trabajar con esta Suite, usaremos dos terminales para poder ver lo que ocurre con mayor facilidad.

En el 煤ltimo paso dado, la consola deTruffle se debi贸 iniciar, y lo puedes verificar al notar que en la otra ventana (donde est谩 corriendo Ganache) aparecieron algunas l铆neas que empiezan con 鈥渆th鈥 (no te preocupes si no entiendes el c贸digo por ahora, eso es lo que aprender谩s conforme vayas avanzando en este camino).

Todo trabajo da su recompensa

Ahora seguiremos con unos pasos finales, que son realmente interesantes:

  • Escribe el siguiente comando en la consola Truffle: > web3.eth.getBlock(0)En el output de esa ventana, se puede visualizar la informaci贸n del bloque G茅nesis o ceroEn la terminal de Ganache tambi茅n ver谩s el registro de la operaci贸n 鈥渆th_getBlockByNumber鈥
  • Ejecuta en la consola de Truffle: > compile
  • Ejecuta en la misma consola: > migrate
  • Con esto, se muestran las transacciones necesarias para el despliegue y tambi茅n para la creaci贸n de nuevos bloques
  • En la consola Truffle puedes ver los detalles de cada transacci贸n, como el nombre del contrato, el聽hash, el gas usado, el valor en ETH enviado, etc. Al final, se resume el total de las transacciones y el costo total. Casi como un ticket de compra com煤n.
  • Un bonus: Ejecuta en la consola de Truffle: > const instance = await HelloBlockchain.deployed()Y finalmente, llama a la funci贸n 鈥渟ayHi鈥 ejecutando: > instance.sayHi.call()Ver谩s una l铆nea adicional en la consola de Ganache que dice 鈥渆th_call鈥 y un mensaje que dice en verde 鈥溌ello, Blockchain!鈥 en la consola de Truffle

!Felicidades!, has desplegado tu primer contrato inteligente en una blockchain local. No ha sido precisamente f谩cil, pero con la pr谩ctica y la constancia, estos ser谩n conceptos y procesos que dominar谩s con rapidez.

Ejemplos

El siguiente c贸digo de prueba sirve para crear tu primer contrato en Solidity:

// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.4.22 <0.9.0;

contract HelloBlockchain {
    
    function sayHi() public pure returns (string memory) {
        return "!Hello, blockchain!";
    }

}

El c贸digo para el script de despliegue es:

var helloBlockchain = artifacts.require("./HelloBlockchain.sol");

module.exports = function (deployer) {
	deployer.deploy(helloBlockchain)
}

Aporte creado por: Luis Enrique Herrera.

Aportes 108

Preguntas 86

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

En el minuto 18:00 cuando el profe inicia la consola de truffle, en un primer intento le da un error y en un segundo intento ya funciona correctamente.
Lo que paso fue un error en el tipo de guion que uso antes de la palabra network.
En el primer intento usa este guion que es m谩s corto -.
En el segundo usa este otro un poco m谩s largo .
La instrucci贸n correcta para inicializar la consola de truffle es:

truffle console 鈥攏etwork development

Comandos de la clase (ubuntu)

cd $HOME
sudo npm update -g

#truffle:
sudo npm install -g truffle
truffle --version

#ganache:
sudo npm install -g ganache-cli
ganache-cli --version
ganache-cli

# cd a tu carpeta helloBlockchain
truffle init #crea la estructura del proyecto
ls -l 
#
truffle console 鈥攏etwork development 
#Alt + May煤sculas + gui贸n corto (-): gui贸n largo (鈥)
web3.eth.getBlock(0)
compile 
migrate #deploy
#
const instance = await HelloBlockchain.deployed()

instance.sayHi.call() 

Por si a alguno le aparece Error y no le muestra las cuentas disponibles al ejecutar 鈥榞anache-cli鈥 (08:35) se debe a un error que ocurre con la 煤ltima version del nodejs. En mi caso hice downgrade de la 17.0.1 a la 16LTS y me aparecieron las cuentas disponibles as铆 como sus llaves.

Consola de comandos Windows- instalaci贸n truffle:

-truffle:

  • npm update -g
  • npm install -g truffle
  • truffle --version

-ganache

  • npm install -g ganache-cli
  • ganache-cli --version
  • ganache-cli

crear proyecto de prueba:

  • crtl + c // para salir del proyecto actual
  • mkdir hello-blockchain // crear carpeta del proyecto
  • cd hello-blockchain // ingresar a la carpeta del proyecto
  • truffle init //crea la estructura del proyecto
  • ls // listar archivos de carpeta
  • code . // abrir visual studio code para abrir visual studio si lo tienes instalado

//descomentar las l铆neas correspondientes a development en el archivo truffle-config.js (l铆neas desde la 44 a la 48)

//crear archivo HelloBlockchain.sol en la carpeta de contracts
// instalar extensi贸n de solidity

//c贸digo para el archivo HelloBlockchain.sol

// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.4.22 <0.9.0;

contract HelloBlockchain {
    
    function sayHi() public pure returns (string memory) {
        return "!Hello, blockchain!";
    }

}

//desplegar el c贸digo del contrato dirigi茅ndose a la carpeta migrations y creando el archivo 2_hello_blockchain.js

var helloBlockchain = artifacts.require("./HelloBlockchain.sol");

module.exports = function (deployer) {
	deployer.deploy(helloBlockchain)
}

// en la terminal de la carpeta hello-blockchain

  • ganache-cli

// en la terminal para ver los logs - terminal truffle

  • truffle console 鈥攏etwork development
  • web3.eth.getBlock(0)
  • compile
  • migrate // despliegue
  • const instance = await HelloBlockchain.deployed()
  • instance.sayHi.call()

!Muchos exitos!

para los que no les funciona en windows es con doble guion antes de network

truffle console --network development

Al llamar a la funci贸n desplegada, el profesor ejecuta la siguiente instrucci贸n:

instance.sayHi.call()

otra manera de hacerlo es simplemente llamando la funci贸n directamente:

instance.sayHi()

El comando de instalaci贸n de ganache ahora a cambiado a

npm install ganache --global

Quiero realizar el siguiente aporte tenia el siguiente error cuando digitaba el siguiente comando

<ganache-cli> 

me aparec铆a el siguiente error

<ganache-cli
Error: error:0308010C:digital envelope routines::unsupported> 

despu茅s de leer en varios foros encontr茅 la soluci贸n y era la versi贸n de mi npm la cual es la 17 lo que hice me dirig铆 al link donde se instala el npm pero no descargue la versi贸n 17 fui a la opci贸n de descargas y descargue la versi贸n 16 despu茅s de desinstalar la versi贸n 17 y instalar la versi贸n 16 quedo solucionado.

En caso les salga el siguiente mensaje:

        throw new Error("Could not find artifacts for " + import_path + " from any sources");

Deben asegurarse de que el nombre del contrato es igual al nombre del archivo Solidity 馃槂

El c贸digo que utiliza el profesor para el contrato y el script de despliegue lo puedes encontrar en la descripci贸n de la clase o en este comentario 馃榿馃槈.

El c贸digo para el contrato de Solidity es:

// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.4.22 <0.9.0;

contract HelloBlockchain {
    
    function sayHi() public pure returns (string memory) {
        return "!Hello, blockchain!";
    }

}

El c贸digo para el script de despliegue es:

var helloBlockchain = artifacts.require("./HelloBlockchain.sol");

module.exports = function (deployer) {
	deployer.deploy(helloBlockchain)
}

el comando de version se actualizo, ahora es

truffle version

Todos los paquetes de npm que llevan 鈥渃li鈥 en el nombre, significa: Command Line Interface

Aporte menor pero 煤til. En VSCode los shortcuts para descomentar por defecto son.
Texto seleccionado
Ctrl+K // VS queda a la espera de otro comando
Ctrl+C // Comenta
Ctrl+U // Descomenta

En la parte inferior izquierda de VS podemos ver cuando hacemos Ctrl+K que Visual nos dice que espera otro comando.

Veo much铆simas personas con el mismo error al querer instalar Truffle y ning煤n feedback con la soluci贸n.

Gente si no se les conecta al puerto correcto es porque tienen que borrar las barras diagonales de las lineas 44 a 48 del archivo truffle-config.js para descomentarlo.
Yo estuve como 1 hora y era esa tontera.

Instalacion

  1. Tener previamnte instalado el npm
    Instalar npm en macOS o Windows
  2. Desde terminal vamos al directorio homre raiz con $cd ~
  3. Actualizar los paquetes de npm con $npm update -g
    $sudo npm update -g (cpn permisos)
  4. Instalamos Truffle $npm install -g truffle
  5. Verificamos $truffl --version

Si nos les gusta usar NPM y prefieren usar YARN, les dejo los comandos:

#instalaci贸nTruffle

yarn add truffle

#instalaci贸nGanache

yarn add ganache-cli

#Version

truffle version

Comandos necesarios para esta clase:

  • mkdir (para crear una carpeta desde la terminal).
  • cd (para moverte dentro y fuera de las carpetas desde la terminal).
  • ganache-cli (para iniciar la consola de ganache)
  • truffle console --network development (para iniciar la console de truffle).
  • web3.eth.getBlock(0) (para probar con el bloque 0 que est谩 andando todo bien).
  • compile (para compilar desde la consola de truffle).
    migrate (para deployar desde la consola de truffle).
  • const instance = await HelloBlockchain.deployed() y
    instance.sayHi.call() (para invocar a la funci贸n sayHi desde la terminal de truffle).

Truffle Suite

Es un entorno de desarrollo dise帽ado para facilitar la creaci贸n de aplicaciones
basada en tecnolog铆a blockchain, te permite compilar c贸digo, desplegar contratos
inteligentes y desarrollar el frontend de tus aplicaciones.

Se conforma por:

  • Truffle. Te permite administrar tus contratos inteligentes y crear scrips
    para desplegarlos de manera sencilla y con una estructura clara, adem谩s
    te permite crear test para depurar tu c贸digo.

  • Ganache. Te brinda la opci贸n de tener una blockchain personal para desplegar
    tus contratos y probar tus aplicaciones de forma local. Disponible como
    aplicaci贸n de escritorio y tambi茅n como herramienta para l铆nea de comandos.

  • Drizzle. Es una colecci贸n de librer铆as para frontend que te facilita la
    creaci贸n de aplicaciones.

Yo tuve problemas instalando truffle en windows 10, me sal铆a error. Se solucion贸 instalando la 煤ltima versi贸n de python.

PROBLEMA AL INSTALAR TRUFFLE
Buenas Gente,
Les quiero compartir el problema que tuve al instalar truffle con el fin de que a esas pocas personas como yo les pueda ser de utilidad.
Luego de instalar el nodejs me aparecian muchas lineas que se帽alaban varios errores. Prob茅 instalando python, visual, etc, nada fucion贸.
Lo unico que me funcion贸 fue instalar la version 16.13.2 de nodejs.
En Conclusion: Parece que es un problema de versiones de compatibilidad.

Me sali贸 este mensaje al intentar compilar

Error: Could not find a compiler version matching 0.8.9. Please ensure you are specifying a valid version, constraint or build in the truffle config. Run `truffle compile --list` to see available versions.```

Se supone queue la versin 0.8.9 s铆 deber铆a estar soportada por el archivo .sol de la funci贸n sayhi 馃し馃徑鈥嶁檪锔
Ayuda despu茅s de llegar al comando en Windows: truffle init y tener el output ... al revisar el contenido de la carpeta con: ls -l me sale "no se reconoce como un comando interno o externo,programa o archivo por lotes ejecutable" Ayuda amig@s .... no puedo ver el contenido de la carpeta

Para los que tienen error al correr

ganache-cli 

(Y DERIVADOS)

intenten instalar ganache con node versi贸n 16, con esa versi贸n funciona OK

si alguno le causa curiosidad el npm es un gestor de dependencias de javascript , y lo puedes descargar con tan solo descargar nodejs que es la herramienta que se utiliza para usar javascript en el backend del lado del servidor

Lo que hice para instalar Truffle sin errores fue descargar la extensi贸n Truffle for VS Code, luego fu铆 al logo de la trufa que se encuentra abajo en la barra lateral
izquierda de Vs Code.

Se abrieron varias ventanas en mi Vs Code despu茅s de haberle dado click en clonar repositorio, en una de ellas hab铆an varias opciones para instalar la 煤ltima versi贸n de Node, Git, Ganache, actualizar el npm y Truffle (abajo te dejar茅 un ejemplo).

Es muy importante actualizar el npm para instalar las dependencias de Truffle sin errores, puedes usar el comando npm install truffle -g

Recuerda instalar el paquete Truffle de forma global, todo esto se puede hacer desde la terminal de Vs Code.

Por 煤ltimo instal茅 las dependencias de Ganache y comprob茅 que todo estuviera ok con --versi贸n

para los que dicen que no les sirve el comando 鈥渓s - l鈥 se debe a que ese comando es usado para una terminal de linux, en windows un codigo equivalente es dir

ls -l <> dir

tuve un problema de d铆as tratando de hacer todas estas instalaciones luego de descargar ubuntu con wsl, resulta que parec铆a como si no tuviese internet, por lo que al ejercutar un comando ping o un apt update, simplemente no funcionaba, mi soluci贸n fue la siguiente:

wsl --set-version Ubuntu 1

wsl

sudo apt update

Lo hemos logrado!!!

Si tienen problemas de instalaci贸n con NPM en MacOS, pueden ver este link ```
https://stackoverflow.com/questions/67230922/npm-error-installing-truffle-for-ethereum-development

A los que les da error en el minuto 18 pueden usar

truffle console -n development

Despu茅s de muchas horas de descarga, por fin pude hacer todo. Gracias, internet de Venezuela, jajaja.

Si tienen error al hacer migrate, lo resolv铆 con:

sudo truffle console --network development

Si usan la aplicaci贸n Windows de Ganache, se debe trabajar con el puerto 7545

Para los usurarios de mac, tuve problemas para instalar truffle.
instalar homebrew me ayudo. (Muchos seguro que son avanzados, pero para lo que no lo sean este es mi aporte).

Usuarios de MacOS que tengan problema para instalar truffle usen homebrew, 1 dia entero intentando resolver el problema, cualquier ayuda que necesiten se pueden comunicar conmigo y los ayudare como pueda.
instagram: nachogelvez
twitter: ciogel3

me sale este error alguien me ayuda
C:>npm update -g
npm ERR! code EINVALIDPACKAGENAME
npm ERR! Invalid package name 鈥.express-Pphr6s1T鈥: name cannot start with a period

npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\erick\AppData\Local\npm-cache_logs\2022-01-23T20_53_58_082Z-debug-0.log

Por fin, despu茅s de tantos intentos pude descargar e instalar el ganache
yeeeeeeeei

En ubuntu, si te aparece este error:

Error: Could not find a compiler version matching 0.8.9. Please ensure you are specifying a valid version, constraint or build in the truffle config. Run `truffle compile --list` to see available versions.

Luego de hacer truffle init, debes revisar con ls -l que todos los archivos tengan permisos rwx, seguidamente debes ejecutar este comando adicional:

sudo truffle compile

Y despues:

truffle console --network development

Una vez hecho deberia funcionar correctamente.

Si necesitan desplegar la consola en Mac M1 solo con

truffle console

si tienen problemas instalando en mac m1, sale mejor hacerlo con brew

Tard茅 mucho en verificar que varios de mis problemas en la clase era modificar el puerto por defecto que me abr铆a en el archivo 鈥渢ruffle-config.js鈥, en windows me aparec铆a port:7545, no lo not茅 cuando se eliminaron los comentarios. Una vez identificado esto logr茅 correr bien el contrato

Tuve un error de acceso al migrar con truffle en Mac

Error: EACCES: permission denied, open

Al igual que compilar

Error: Failed to fetch the Solidity compiler from the following locations: https://relay.trufflesuite.com/solc/emscripten-wasm32/,https://binaries.soliditylang.org/emscripten-wasm32/,https://relay.trufflesuite.com/solc/emscripten-asmjs/,https://binaries.soliditylang.org/emscripten-asmjs/,https://solc-bin.ethereum.org/bin/,https://ethereum.github.io/solc-bin/bin/. Are you connected to the internet?

Lo que paso es que corr铆 el commando npm con sudo porque ocurria un error de permisos si solo lo correa npm -g

npm installe -g truffle <- error de permisos si corre en mi Mac
sudo npm install -g  <- mala practica

Al hacer esto no es muy buena practica correr npm con sudo porque algunos paquetes quedan con permisos de administador

recomiendo que si el comando al instal -g truffle y aparece un error de permisos, primero seguir los pasos de

https://github.com/sindresorhus/guides/blob/main/npm-global-without-sudo.md

para correr cualquier comando de npm con -g

alguien me podria ayudar con la correcion de ese error que me sale porfa

hola al ejecutar ganache-cli te presenta el siguiente error:
Error: error:0308010C:digital envelope routines::unsupported

Se soluciona descargando la version estable de Nodejs que no es la ultima 馃槂

No entiendo nada

Y para evitar errores en la parte de web3.eth.getBlock(0) ocup茅 la siguiente sintaxis:


truffle console -network development

truffle develop

web3.eth.getBlock(0)

compile

migrate

Hay que estar muy atentos al nombre del contrato, si no puede causar un trow error.

El c贸digo que utilice para crear el contrato:

// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;

contract HelloBlockchain {
    
    function sayHi() public pure returns (string memory){
        return "Hellow, blockchain!";
    }

}

Y el c贸digo para el script de despliegue:

const helloBlockchain = artifacts.require("../contracts/HelloBlockchain.sol");

module.exports = function(deployer) {
        deployer.deploy(helloBlockchain);
};

cd鈥 solo dos puntos para acercarte a C:\

Para instalar Ganache versi贸n cli

  1. ejecuta (en cmd) el comando
    $npm install -g ganache
  2. ejecuta el siguiente comando para verificar
    ganache-cli --version
    3.- para iniciar el programa ejecuta:
    ganache-cli
    te sirve al d铆a de hoy 5 nov 2022

Para instalar Truffle (cli - comand line interfase)
abrir terminal en Windows 10 (windows + R)
teclea cmd y pulsa ok para abrir cmd.exe
verificar que estas en el home (cd鈥 va acerc谩ndote a tu disco duro, repite hasta llegar a c:)
ejecuta npm install -g truffle
(si tienes una versi贸n no actualizada del npm te mandara un mensaje con la versi贸n mas nueva鈥 simplemente copia el ejecutable que te aconsejan y ejec煤talo esto te actualizara el npm)
repite npm install -g truffle
este procedimiento sirve a la feche de hoy 5 de nov 2022

Hola a todos comunidad 馃憢
Para todos los que sean usuarios de Linux y al descargar el archivo con extensi贸n .appimage les arroja un error, la soluci贸n es la siguiente:

  1. Actualicen todos sus paquetes:
sudo apt update | sudo apt upgrade
  1. Instalen libfuse2 con el comando:
sudo apt install libfuse2

Ya con eso deber铆an solucionar el problema. Espero el aporte les haya servido 馃憦.

El paquete ganache-cli esta deprecado, ahora solo es ganache.

npm i ganache -g

Me siento tan feliz! Gracias por ayudarme crear mi primer Smart contract! :鈥)

Si les aparece este error al hacer:
.
$ truffle console --network development
.

Error: You must specify a network_id in your 'development' configuration in order to use this network.
    at Object.validateNetworkConfig (/usr/local/lib/node_modules/truffle/build/webpack:/packages/environment/environment.js:136:1)
    at Object.detect (/usr/local/lib/node_modules/truffle/build/webpack:/packages/environment/environment.js:16:1)
    at Object.module.exports [as run] (/usr/local/lib/node_modules/truffle/build/webpack:/packages/core/lib/commands/console/run.js:19:1)
    at runCommand (/usr/local/lib/node_modules/truffle/build/webpack:/packages/core/lib/command-utils.js:190:1)
Truffle v5.5.26 (core: 5.5.26)
Node v18.4.0

.
Ir al archivo migrations/2_hello_blockchain.js y quitar los comentarios a estas lineas:
.

development: {
    host: "127.0.0.1",     // Localhost (default: none)
    port: 8545,            // Standard Ethereum port (default: none)
    network_id: "*",       // Any network (default: none)
},

La suite de Truffle se compone de 3 elementos:
.

  1. TRUFFLE
    LOS CONTRATOS INTELIGENTES HECHOS DULCE
    Un entorno de desarrollo de clase mundial, un marco de prueba y una canalizaci贸n de activos para cadenas de bloques que utilizan Ethereum Virtual Machine (EVM), con el objetivo de facilitar la vida como desarrollador.
    .
  2. Ganache
    LA CADENA DE BLOQUES DE UN SOLO CLIC
    Una cadena de bloques personal para el desarrollo de Ethereum que puede usar para implementar contratos, desarrollar sus aplicaciones y ejecutar pruebas. Est谩 disponible como aplicaci贸n de escritorio y como herramienta de l铆nea de comandos (anteriormente conocida como TestRPC). Ganache est谩 disponible para Windows, Mac y Linux.
    .
  3. Drizzle
    DATOS-ENCADENADOS FRESCOS PARA FRONTENDS
    Una colecci贸n de bibliotecas front-end que hacen que escribir dapp front-end sea m谩s f谩cil y predecible. El n煤cleo de Drizzle se basa en una Redux Store, por lo que tiene acceso a las espectaculares herramientas de desarrollo de Redux. Nos encargamos de sincronizar los datos de tus contratos, datos de transacciones y m谩s.

Hola, tengo un Mac con Monterrey 12.5 y me pas贸 algo curioso, segu铆 los pasos del v铆deo pero no pod铆a verificar la versi贸n de truffle, me sal铆an comando invalido tanto 鈥渢ruffle -v鈥 como 鈥渢ruffle --version鈥, lo extra帽o era que me indicaba que pod铆a ingresar el comando 鈥渢ruffle help鈥, el cual ingres茅 mal como 鈥渢ruffle hepl鈥, pero pude ver la versi贸n instalada. Despu茅s de probar me di cuenta que la versi贸n se visualiza con el comando 鈥渢ruffle version鈥 sin guiones.

Bueno ah铆 les dejo mi experiencia, tarde como 3 horas en darme cuenta y ya ten铆a el truffle instalado.

(base) anuarmenconemes@MacBook-Air-de-Anuar ~ % truffle -v                 
`truffle -v` is not a valid truffle command. Please see `truffle help` for available commands.

(base) anuarmenconemes@MacBook-Air-de-Anuar ~ % truffle -v
`truffle -v` is not a valid truffle command. Please see `truffle help` for available commands.

(base) anuarmenconemes@MacBook-Air-de-Anuar ~ % truffle --version
`truffle --version` is not a valid truffle command. Please see `truffle help` for available commands.

(base) anuarmenconemes@MacBook-Air-de-Anuar ~ % truffle hlep     
TypeError: Cannot read properties of undefined (reading '#<Object>')
    at module.exports (/usr/local/lib/node_modules/truffle/build/webpack:/packages/core/lib/commands/help/displayCommandHelp.js:9:1)
    at Object.module.exports [as run] (/usr/local/lib/node_modules/truffle/build/webpack:/packages/core/lib/commands/help/run.js:5:1)
    at runCommand (/usr/local/lib/node_modules/truffle/build/webpack:/packages/core/lib/command-utils.js:190:1)
Truffle v5.5.26 (core: 5.5.26)
Node v18.7.0

(base) anuarmenconemes@MacBook-Air-de-Anuar ~ % truffle help
Truffle v5.5.26 - a development framework for Ethereum

Repasar para verificar que no ocurra ningun fallo en la blockchain local.

Vale, ya encontr茅 el problema para que el comando npm install truffle -g funcione en Windows si sale Errores de Phyton y Visual Studio , hay que reinstalar e instalar varias cosas:
1)instalar la versi贸n LTS del Node.js en vez del actual que comenta el video de los recursos, hay errores con las nuevas versiones para la instalaci贸n del truffle.
2) Instalar Visual Studio junto a los complementos:
-Desarrollo para el Escritorio con C++.
-Desarrollo de Node.js y Desarrollo de Python

Con esto ya deberia funcionar el comando para Windows:
npm install truffle -g

Saludos.

Para los que les sale error al instalar truffle, lo pude hacer mediante este comando: npm install -g [email protected]

Esataba en algun punto de la instalacion y me pone que tenia 31 vulnerabilidades . procedi a poner npm audit fix --force

quede en cero鈥 馃槂

Me dio un erro cuando digit茅 ganache-cli.

Lo solucion茅 haciendo downgrade de node a la la TLS. La segunda soluci贸n de este enlace.

Muy buen curso y wow con el profe!!!

Para los que tienen consola zsh o estan en Linux y usan Bash y tienen un problema como:
zsh: command not found: truffle
tienen que revisar este blog de Stackoverflow para solucionarlo!

Recomiendo estar muy atentos al espaciado del editor, y del estado de nuestros archivos al momento de conectarnos a develop de esta forma evitaremos errores de typo.

Si te aparece el siguiente error: 鈥済anache-cli鈥 no se reconoce como un comando interno o externo,programa o archivo por lotes ejecutable.
Prueba instalando lo siguiente:

npm install ganache --global 

Despu茅s de instalarlo ya te deber铆a reconocer ganache-cli como comando.
Puedes checar mas detalles si tienes el mismo error en el siguiente sitio web: https://trfl.io/g7

termine correctamente la prueba, sin embargo se debe actualizar lo siguiente, ya que tuve algunos inconvenientes.

  1. Instalacion de ganache, este es el nuevo comando
npm install ganache --global
  1. interactuar con la red development desde truffle, en el comando se debe usar 2 guiones y no uno.
    de lo contrario no pasas al modo truffle(developmet)>
truffle console --network development
  1. al usar el comando migrate, genera error de parametros invalidos por que no encuentra el archivo de contrato, se debe quitar ./ asi lo deje y funciona
var helloBlockchain = artifacts.require("HelloBlockchain");

module.exports = function(deployer) {
    deployer.deploy(helloBlockchain);
};

Tuve problemas al instalar en macOS Monterey pero los solucione siguiendo los siguientes pasos:

  • Instalar Xcode command tool
  • instalar Python
  • instalar sha3 package

no corre con cmc en windows

que genial clase, un flujo base para iniciar a hacer algunas pruebas con esta herramienta.

Tenia problemas en esta classe y creo que podria ser tu problema tambien. si no te corre como debe el ganache, pued que sea debido a que el comando de instalacion cambio.
AQUI LO DEJO POR SI ALGUIEN LO NECESITA:

npm install ganache@rc --global

ALGUNOS ERRORES
en el minuto 18:39 el primer error del profe fue porque no escribir el guion largo en 鈥渘etwork鈥 (se hace con alt+0151)
luego si no les conecta el development es porque tienen que ir a guardar los dos archivos que crearon en Visual estudio usando control + S o manualmente en save en cada uno.

Excelente clase, estuve leyendo sobre https://hardhat.org/ que permite hacer lo mismo que Truffle y Ganache, pero usando VSCODE. Implemente la practica sobre Ubunto siguiendo los pasos del profe, ahora ver como implemento HARDHAT y que se me hace mas c贸modo.

Siento que todo es un poco abstracto en este punto pero supongo que se debe a que es solo el prework

Presento varios problemas en mi PC
primero no me corre la aplicaci贸n de ganache en el desktop
intente utilizar la terminal y tampoco me funciona me aparece este mensaje

tal vez alguno tenga problemas con el instalador de ganache en la pagina oficial,
les recomiendo descargar el .exe desde el repositorio en git

https://github.com/trufflesuite/ganache-ui/releases/tag/v2.5.4

Tuve problemas instalando ganache en Ubuntu, me sirvi贸 hacer lo siguiente:

The simplest way to install Ganache on the Ubuntu is to download the Ganache from the below given Link

Link : https://www.trufflesuite.com/ganache

then change your directory to the file where you have downloaded

EG: cd/Downloads

then copy the file name of the downloaded file and then make the file executable using chmod terminal command by typing the below command

terminal :

chmod 777 Ganache-2.1.0.AppImage

and then this other command

./Ganache-2.1.0.AppImage

wait for few minutes until the popup comes and then click ok and the Gananche is installed.

Estoy muy emocionado, he aprendido hacer mi primer smart contract.
Se que no es nada para mucho pero es el primer paso hacerme un hueco en la industria de la teconologia.
Es mi apuesta de este 2022

El comando funciona con dos guiones:

truffle console --network development

Si alguien tiene problemas con UnhandledRejections despu茅s de escribir el comando migrate, deben agregar sudo a truffle console 鈥攏etwork development: sudo truffle console 鈥攏etwork development

alguno sabe porque me sale eso? No puedo acceder a los datos de la carpeta鈥

Interesting!

Si es que a alguien le dio un problema al momento de ejecutar

truffle --version

siendo el error parecido al siguiente:

truffle : No se puede cargar el archivo C:\Users\julio\AppData\Roaming\npm\truffle.ps1 porque la ejecuci贸n de scripts
est谩 deshabilitada en este sistema. Para obtener m谩s informaci贸n, consulta el tema about_Execution_Policies en
https:/go.microsoft.com/fwlink/?LinkID=135170.
En l铆nea: 1 Car谩cter: 1
truffle --version
CategoryInfo : SecurityError: ( ) [ ], PSSecurityException
FullyQualifiedErrorId : UnauthorizedAccess

A mi me funciono ejecutar como administrador el siguiente comando:

Set-ExecutionPolicy Unrestricted

Lo cual lo encontre en stackoverflow aqui

si alguno esta usando linux para abrir ganache en linux deben entrar a propiedades de 鈥済anache-2.5.4-linux-x86_64 (1).AppImage鈥 y en permisos en activan la ejecucion y asi les abre por que al entrar a la pag y descargar el archivo lo descarga como una appImage

Al momento de usar > truffle console 鈥攏etwork development
me da este error, intento ingresando el network_id pero nada. Si alguien tiene una soluci贸n me vendr铆a muy bien. Muchas gracias.

Entorno de desarrollo para desarrollar aplicaciones de blockchain.

  • Truffle
  • Ganache
  • Drizzle

Truffle

Tuve un peque帽o problema haciendo el

npm update -g

npm install truffle -g

node.js - ENOTFOUND when running npm install - Stack Overflow

I鈥檇 remove the聽C:\Users\Guillermo.npmrc聽file

Ganache

npm install -g ganache-cli

ganache-cli --version

Drizzle

Este no hace falta instalarlo de forma global.

npm install  --save @drizzle/store 

OJO.

Si tienes el error del compilador revisa el c贸digo de tu contrato, me faltaba un ; y eso me daba error del compilador, por alguna raz贸n no se cachan bien los errores (o las descripciones) pero eso resolvi贸 el problema. Espero le sirva a alguien.

Se siente un superpoder al ver el 鈥淗ello blockchain!鈥 en la consola. 馃挌

Es super divertido que tratando de hacer el migrations, truffle suite exploto y no pude hacerlo.

Pero fui a Hardhat con los pocos conocimientos y siguiendo la documentacion y si pude hacer un Hello World, sencillo鈥

Es casi lo mismo no? xd

Hola, por si a alguien le da problema al compilar, como a mi que solo se quedaba compilando y ya no hacia nada, me funciono cambiar la version de solc por la 鈥0.8.10鈥, en el archivo de truffle-config.js

Al minuto 8:38 cuando corremos el ganache-cli me aparec铆a este error. Tenia descargada la version de Node 17.0.1 el cual lo generaba. Instale la version 16.13.0 descargando desde la pagina de Node de nuevo y se soluciono

Si no se conecta a ganache-cli por el puerto tienen que descomentar estas lineas del archivo truffle-config.js

networks: {
    // Useful for testing. The `development` name is special - truffle uses it by default
    // if it's defined here and no other network is specified at the command line.
    // You should run a client (like ganache-cli, geth or parity) in a separate terminal
    // tab if you use this network and you must also set the `host`, `port` and `network_id`
    // options below to some value.
    //
    development: {
    host: "127.0.0.1",     // Localhost (default: none)
    port: 8545,            // Standard Ethereum port (default: none)
    network_id: "*",       // Any network (default: none)
    }

que facil es que crear un proyecto con truffle

ganache me permite crear espacio de trabajo

Truffle me permite correr mis smart contract en equipo y necesita npm para la instalacion del tool

Una curiosidad es que al bloque 0 creado en la blockchain se le conoce como 鈥淏loque g茅nesis鈥

Mandar a llamar a la funcion: instance.sayHi.call()

Interactuar con la funci贸n sayHi y crear una const: const instance = await HelloBlockchain.deployed()

Para desplegarlo se utiliza el comando: migrate