No tienes acceso a esta clase

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

No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

11 Días
6 Hrs
51 Min
1 Seg

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 “Solidity” 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 “Quickstart”, 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 “hello-blockchain”, ejecuta: $ truffle init
  3. Verás el mensaje “Init 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: “contracts”, “migrations”,“test” y “truffle-config.js”
  2. Dirígete a esta última, y busca la línea “development”. Descomenta esa y las siguientes tres líneas hasta la que dice “network_id”. Se encuentran cerca de la línea 40
  3. Después, dirígete a la carpeta “contracts” y crea un nuevo archivo llamado: “HelloBlockchain.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 “migrations” 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 “Listening 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 “eth” (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 “eth_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 “sayHi” ejecutando: > instance.sayHi.call()Verás una línea adicional en la consola de Ganache que dice “eth_call” y un mensaje que dice en verde “¡Hello, 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?

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 —network 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 —network 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 ‘ganache-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 —network 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 “cli” 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 versión 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 “ls - 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 “truffle-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 “truffle -v” como “truffle --version”, lo extraño era que me indicaba que podía ingresar el comando “truffle help”, el cual ingresé mal como “truffle hepl”, pero pude ver la versión instalada. Después de probar me di cuenta que la versión se visualiza con el comando “truffle 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: “ganache-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 “network” (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 —network development: sudo truffle console —network 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 “ganache-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 —network 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’d 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 “Hello 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 “Bloque 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