Contenido del curso
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
Si perdieron 30 minutos intentando buscar en vuestro teclado el guión largo (Windows), el comando es:
Alt + Mayúsculas + guión corto (-): guión largo (—)
Tambien funciona con 2 guiones cortos. Queda de esta forma:
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()
Gracias por esa recopilacion de comandos
Si le da error con la version 0.8.9, deben ejecutar sudo truffle compile antes de truffle console —network development
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.
Si, eso pasa mucho con la version nueva de nodejs, y te pasara con Hardhat igual, puedes usar este comando
export NODE_OPTIONS=--openssl-legacy-provider
Y luego intenta de nuevo y te funcionara.
Gracias a ambos, me funcionó perfecto con el comando que cita José Manuel ;D
Consola de comandos Windows- instalación truffle:
-truffle:
-ganache
crear proyecto de prueba:
//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
// en la terminal para ver los logs - terminal truffle
!Muchos exitos!
Buen aporte.
Gracias crack
para los que no les funciona en windows es con doble guion antes de network
truffle console --network development
gracias por decir crack tu comentario me salvo :)
Grande!, efectivamente este era el error
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()
Gracias bro, me salvaste
Excelente si funciona!! 😎
El comando de instalación de ganache ahora a cambiado a
npm install ganache --global
Ojo con esto, a los que le da error cuando tratan de instalar el ganache-cli y verificar su version
you saved my life! thank you so much
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.
muchas gracias
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 :)
Me pasó eso mismo jeje
Gracias, estuve un buen rato tratando de entender que estaba mal.
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) }
Muchas gracias! c:
Gracias.
el comando de version se actualizo, ahora es
truffle version
Ya nii siquiera es necesario poner la palabra version, tan solo escribiendo "truffle" te da la version, Yerson!
Gracias
Hola, no logro la comunicación entre la consola de truffle(development) y la de ganache-cli
En primer lugar, la Terminal de truffle aparece como :
truffle(ganche)
Y adicionalmente, cuando corro el comando
.web3.eth.getBlock(0)
En la consola truffle, si corre el comando, pero la otra Terminal no parece ejecutar nada, como si no lae stuviera escuchando.
Alguien sabe qué puede estar pasando?
Me sucede exactamente lo mismo
Estoy igual...
Buenas! Alguien sabe por que al ejecutar el comando ls -l me sale este error?
Get-ChildItem: Missing an argument for parameter 'LiteralPath'. Specify a parameter of type 'System.String[]' and try again.
Estoy buscando tambien como solucionarlo, ademas al abrir los archivos en VSCode me sale .gitkeep y no .js como en el video, si encuentro solución te la pongo acá o si alguien ve este msj plsss ayuda jajaja
Hola, tengo el mismo problema con la creacion de los archivos migrations .sol y .js. Aparentemente ya no se crean automaticamente en las nuevas versiones de truffle.
https://github.com/trufflesuite/truffle/issues/5532
Hello @cuongrep. Thanks for bringing this up. Truffle has removed the inclusion of Migration.sol on npx truffle init command since v5.5.27. Now when you run npx truffle init, it includes the following -
an empty contracts folder. an empty migrations folder. an empty test folder. a .gitignore file. a truffle-config.js file. Please let us know if this information is helpful.
No tengo idea que implica y si la solucion es crearlo manualmente o que se debe hacer.
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.
Me salvaste, había olvidado guardar los cambios de esa parte.
Muchas Gracias, a mí me sucedió que no le había dado guardar al archivo, perdí un buen tiempo. 😩
Instalacion
alguien sabe por qué me sale este error al instalar truffle
Hola, haz intentado abrir al consola como administrador?
Eso se debe a que por defecto la ejecucion de scripts esta deshabilitada, pero puede activarla hay dos formas. Una es activando las opciones para desarrolladores que tiene windows en los ajustes o desde PowerShell como administrador ejecutando primero
Get-ExecutionPolicy // Restricted
eso le devolvera Restricted
puede ejecutar
Set-ExecutionPolicy RemoteSigned
Despues de eso no tendra esos errores.
Te dejo los tipos de permisos que hay
Restricted: Opción predefinida en Windows 10. No permite ejecutar scripts, ni archivos de configuración .ps1xml u otros similares, sino solo comandos.
Allsigned: Permite ejecución de scripts y archivos de configuración firmados por un editor de confianza. Esto incluye los escritos en el equipo local. Conlleva el riesgo de ejecutar un script que sea malintencionado, a pesar de haber sido firmado.
RemoteSigned: permite ejecutar scripts powershell y archivos de configuración descargados de internet (de cualquier forma). Conlleva cierto riesto, dado que no solicita firmas digitales para scripts diseñados en el equipo local. Para ejecutar scripts descargados de internet (sin firmar) es necesario usar la opción Unblock-File.
Unrestricted: permite ejecutar cualquier script o archivo de configuración, esté firmado o no. Muestra advertencia al usuario. Bypass: similar al anterior, pero además de no bloquear tampoco alerta de los riesgos. Este modo se suele utilizar en integraciones de Powershell con otras aplicaciones, en las que funciona en una capa inferior, dado que dichas aplicaciones cuentan con un modelo de seguridad propio.
Undefined: no se establece directiva alguna. Esto se traduce normalmente en «Restricted», suponiendo que en todos los ámbitos se haya dejado sin definir.
me da error al instalar npm truffle en windows como lo soluciono
Hola bernaljohansss! Si estas intentando instalar un paquete con npm no debes olvidar la palabra Install puede ser de alguna de las siguientes maneras: npm install truffle o npm i truffle
Espero que con esto puedas solucionar el error! Saludos.
se instala usando el comando npm install *g truffle, pero a mitad de la instalacion me empiezan a salir mensajes de error y no lo completa.
como comparto una imagen para mostrarlo?