You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

当truffle-config.js含双网络时,truffle migrate默认部署至哪个网络?

Truffle Migrate 默认部署网络说明

当你在终端执行不带--network参数的truffle migrate命令时,只会部署到development网络,完全不会同时部署到两个网络,原因如下:

  • Truffle的默认行为规则是:如果执行迁移时没有显式指定网络,它会优先使用配置文件中名为development的网络配置。如果配置里没有development,才会 fallback 到内置的默认本地节点设置(host 127.0.0.1,port 8545)。
  • 看你提供的truffle-config.js代码,networks对象里明确定义了development网络,指向本地的127.0.0.1:7545(这通常是Ganache的默认端口),所以Truffle会直接选用这个网络来部署合约。
  • 若要部署到ropsten测试网,必须显式加上参数执行:truffle migrate --network ropsten,否则Truffle不会触发这个网络的配置。

附上你提供的配置代码供参考:

require('dotenv').config();
const Web3 = require("web3");
const web3 = new Web3();
const WalletProvider = require("truffle-wallet-provider");
const Wallet = require('ethereumjs-wallet');
const ropstenPrivateKey = new Buffer(process.env.ROPSTEN_PRIVATE_KEY, "hex")
const ropstenWallet = Wallet.fromPrivateKey(ropstenPrivateKey);
const ropstenProvider = new WalletProvider(ropstenWallet, `https://ropsten.infura.io/${process.env.INFURA_ROPSTEN_ID}`);

module.exports = {
  networks: {
    development: {
      host: "127.0.0.1",
      port: 7545,
      network_id: "*" // Match any network id
    },
    ropsten: {
      provider: ropstenProvider,
      gas: 4600000,
      gasPrice: web3.utils.toWei('55', 'gwei'),
      network_id: "3"
    }
  }
};

内容的提问来源于stack exchange,提问作者Zach G

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:53:57