No tienes acceso a esta clase

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

Instalaci贸n y overview de Hardhat

8/24
Recursos

Aportes 18

Preguntas 14

Ordenar por:

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

o inicia sesi贸n.

驴Que es Hardhat?
Es un entorno de desarrollo que permite compilar, probar y desplegar smart contracts.

驴Como instalar HardHat?

npm install --save-dev hardhat

Instalar dependencias extras

npm install --save-dev @nomiclabs/hardhat-waffle ethereum-waffle chai @nomiclabs/hardhat-ethers ethers

Bueno lleg贸 la hora de migrar desde Truffle Suite a Hardhat

un pequenio aporte, los que vayan empezando el curso y vayan a instalar node, no usen la ultima version, utilicen la version lts que es la 16.13.0, de lo contrario cuando corran el run de hard hat les va a dar el siguiente error

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:67:19)
    at Object.createHash (node:crypto:130:10)
    at hash160 (C:\Users\amari\Downloads\blockchain_projects\dapps\platzi-punks\node_modules\ethereum-cryptography\vendor\hdkey-without-crypto.js:249:21)
    at HDKey.set (C:\Users\amari\Downloads\blockchain_projects\dapps\platzi-punks\node_modules\ethereum-cryptography\vendor\hdkey-without-crypto.js:50:24)
    at Function.HDKey.fromMasterSeed (C:\Users\amari\Downloads\blockchain_projects\dapps\platzi-punks\node_modules\ethereum-cryptography\vendor\hdkey-without-crypto.js:194:20)
    at Object.deriveKeyFromMnemonicAndPath (C:\Users\amari\Downloads\blockchain_projects\dapps\platzi-punks\node_modules\hardhat\src\internal\util\keys-derivation.ts:21:27)
    at derivePrivateKeys (C:\Users\amari\Downloads\blockchain_projects\dapps\platzi-punks\node_modules\hardhat\src\internal\core\providers\util.ts:29:24)
    at Object.normalizeHardhatNetworkAccountsConfig (C:\Users\amari\Downloads\blockchain_projects\dapps\platzi-punks\node_modules\hardhat\src\internal\core\providers\util.ts:56:10)
    at Object.createProvider (C:\Users\amari\Downloads\blockchain_projects\dapps\platzi-punks\node_modules\hardhat\src\internal\core\providers\construction.ts:78:22)
    at C:\Users\amari\Downloads\blockchain_projects\dapps\platzi-punks\node_modules\hardhat\src\internal\core\runtime-environment.ts:80:14 {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}



Lista de dependencias:

npm install --save-dev @nomiclabs/hardhat-waffle ethereum-waffle chai @nomiclabs/hardhat-ethers ethers

Si estan en algun sistema linux asi actualizan nodejs

  1. npm cache clean -f
  2. sudo npm install -g n
  3. sudo n stable

https://phoenixnap.com/kb/update-node-js-version

Ha esto queria llegar ya entrar en materia 馃槂

Utilicen NodeJS junto con NVM (Node Version Manager) que ler permitir谩 intercambiar f谩cilmente entre diferentes versiones de Node.

Vamos bien 鈥

npx hardhat run scripts/sample-script.js
Deploying a Greeter with greeting: Hello, Hardhat!
Greeter deployed to: 0x5FbDB2315678afecb367f032d93F642f64180aa3

Para los que inicializaron el proyecto con Typescript, este es el package.json con los devDependecies con lo que pude correr el

npx hardhat run scripts/deploy.ts
"devDependencies": {
    "@nomiclabs/hardhat-ethers": "^2.0.4",
    "@nomiclabs/hardhat-etherscan": "^3.0.0",
    "@nomiclabs/hardhat-waffle": "^2.0.2",
    "@typechain/ethers-v5": "^9.0.0",
    "@typechain/hardhat": "^4.0.0",
    "@types/chai": "^4.3.0",
    "@types/mocha": "^9.1.0",
    "@types/node": "^17.0.12",
    "chai": "^4.3.5",
    "dotenv": "^14.3.2",
    "ethereum-waffle": "^3.4.0",
    "ethers": "^5.5.3",
    "hardhat": "^2.8.3",
    "hardhat-gas-reporter": "^1.0.7",
    "solidity-coverage": "^0.7.18",
    "ts-node": "^10.4.0",
    "typechain": "^7.0.0",
    "typescript": "^4.5.5"
  }

Cuando trato de correr npx hardhat run scripts/sample-script.js me aparece el siguiente error.
驴alguien sabe c贸mo corregirlo?

$ npx hardhat run scripts/sample-script.js
An unexpected error occurred:

Error: Cannot find module 'hardhat/config'
Require stack:
- C:\Users\Lenovo\node_modules\@nomiclabs\hardhat-ethers\internal\index.js
- C:\Users\Lenovo\node_modules\@nomiclabs\hardhat-waffle\dist\src\index.js
- C:\Users\Lenovo\Desktop\platzi-punks\hardhat.config.js

Hardhat nNo funciona con node 15, 17, 18, ni ninguna solo la 16. He probado estoy downgrade en downgrade y nada.

Si os da un error de artifacts compilad primero y luego ejecutad el script.

Hardhat 2.0 tiene diferencias en la setup del video 馃槂

Para la versi贸n de hardhat 2.13.0 las preguntas cambian

馃懛 Welcome to Hardhat v2.13.0 馃懛鈥

? What do you want to do? 鈥
鉂 Create a JavaScript project
Create a TypeScript project
Create an empty hardhat.config.js
Quit

Ha cambiado un poco como podemos instalar hardhat, ahora con yarn simplemente es:

yarn add --dev hardhat

Y despu茅s para correrlo es igual:

npx hardhat

Link: https://hardhat.org/hardhat-runner/docs/getting-started#installation

Para los que tengan windows, les recomiendo leer esto y usar wsl para realizar los distintos pasos que se hacen en el curso c: es tambi茅n recomendado por hardhat

es la primera ver que veo o se algo de hardhat, es similar a react

No me dej贸 desplegar el wizard de hardhat en linux