Creé un script para generar hash, por lo que generalmente lo ejecuto así:
$ truffle develop truffle(develop)> exec scripts/myScript.jspero mi script ahora quiere leer desde .env
SIGNER= "56443876ca1ea534cc8ddc422f8ab891690325d173916c528d76483681b97fd6"este es mi guion
require('dotenv').config(); const fs = require("fs"); const readline = require("readline"); const Web3 = require("web3"); const web3 = new Web3(Web3.givenProvider || "http://127.0.0.1:7545"); console.log('AAA', process.env.SIGNER);estoy obteniendo
AAA indefinido
prueba esto :
$ truffle init test-contract $ cd test-contract $ npm init -y $ npm i web3 --save $ npm i dotenv --savecree un archivo dentro de su carpeta de prueba y escríbalo (test-contract/test/1.test.js): 1.test.js
require("dotenv").config(); const Web3 = require("web3"); const web3 = new Web3(Web3.givenProvider || "http://127.0.0.1:7545"); console.log("AAA", process.env.SIGNER);luego cree el archivo .env (test-contract/.env) y coloque lo siguiente sin espacio:
SIGNER="56443876ca1ea534cc8ddc422f8ab891690325d173916c528d76483681b97fd6"finalmente ejecute (dentro de la carpeta de contrato de prueba)
$ truffle testresultado :
Compiling your contracts... =========================== > Compiling ./contracts/Migrations.sol > Artifacts written to /tmp/test--11623-Aa2e6hYzLkeX > Compiled successfully using: - solc: 0.8.10+commit.fc410830.Emscripten.clang AAA 56443876ca1ea534cc8ddc422f8ab891690325d173916c528d76483681b97fd6 0 passing (1ms)