Truffle
Truffle migrate –network ropsten 始終執行開發網路
我正在嘗試使用 Truffle 和 Infura 將一個簡單的合約部署到 Ropsten 網路。我已經在文件中設置了 Ropsten 網路,
truffle-confug.js
但 truffle 似乎總是使用該development
網路。當我嘗試使用遷移契約時,
truffle migrate --network ropsten
我看到以下錯誤:> simple-eth-server@1.0.0 truffle /home/kuzdogan/Desktop/repos/simple-eth-server > truffle "migrate" "ropsten" Compiling your contracts... =========================== > Everything is up to date, there is nothing to compile. Could not connect to your Ethereum client with the following parameters: - host > 127.0.0.1 - port > 7545 - network_id > 5777 Please check that your Ethereum client: - is running - is accepting RPC connections (i.e., "--rpc" option is used in geth) - is accessible over the network - is properly configured in your Truffle configuration file (truffle-config.js) Truffle v5.0.25 (core: 5.0.25) Node v10.16.0
這是我的
truffle-config.js
const config = require("./config.js") const HDWalletProvider = require("truffle-hdwallet-provider"); module.exports = { networks: { ropsten: { provider: function() { return new HDWalletProvider(config.mnemonic, "https://ropsten.infura.io/v3/" + config.infuraKey) }, network_id: 3 } }, }
到目前為止我已經嘗試過:
- 重命名
truffle-config.js
為truffle.js
- 添加開發網路。
truffle-config.js
然後 URL 和參數與文件中的相同ropsten
將網路配置重命名為development
. 在這種情況下,migrate
命令會靜默完成執行,之後Everything is up to date, there is nothing to compile.
我不知何故覺得問題出在我的 Infura 配置上。我該如何調試呢?
問題在於我執行松露的方式,與松露或程式碼無關。
我使用 truffle 作為本地 npm 包。
package.json
我在as中設置了一個腳本"scripts": { ": "node_modules/.bin/truffle" },
我正在執行二進製文件
npm run truffle
編譯時腳本正常執行:
npm run truffle compile
但是,由於網路標誌是
--network
此命令,因此npm
. 這也可以在上面的行中看到:> truffle "migrate" "ropsten"
所以只需全域執行 truffle 或從
node_modules/.bin/truffle