[英]How can I execute a script with environment variable and execute with truffle
我創建了一個腳本來構建哈希,所以我通常這樣執行:
$ truffle develop
truffle(develop)> exec scripts/myScript.js
但我的腳本現在想從 .env 讀取
SIGNER= "56443876ca1ea534cc8ddc422f8ab891690325d173916c528d76483681b97fd6"
這是我的腳本
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);
我正進入(狀態
AAA 未定義
嘗試這個 :
$ truffle init test-contract
$ cd test-contract
$ npm init -y
$ npm i web3 --save
$ npm i dotenv --save
在您的測試文件夾中創建一個文件並寫入它(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);
然后創建 .env 文件(test-contract/.env)並在沒有空格的情況下放置以下內容:
SIGNER="56443876ca1ea534cc8ddc422f8ab891690325d173916c528d76483681b97fd6"
最后運行(在 test-contract 文件夾內)
$ truffle test
結果 :
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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.