摘要:    在truffle中部署指定的合约,可以根据文件的Index来区别,比如,/migrations目录下,有如下三个文件:     1_inital_migrations.js

    在truffle中部署指定的合约,可以根据文件的Index来区别,比如,/migrations目录下,有如下三个文件:
    1_inital_migrations.js
    2_deploy_HWT.js
    3_deploy_SZT.js

    部署第2个合约:2_deploy_HWT.js,使用命令:

migrate -f 2 --to 2

    同理,部署第3个合约:2_deploy_SZT.js,使用命令:

migrate -f 3 --to 3

    类推,部署第n个合约: n_deploy_XXX.js,使用命令:

migrate -f n --to n

1 进入指定的网段

1.1 公共配置

    开启truffle-config.js里的助记词、私钥等配置。

const fs = require('fs');const HDWalletProvider = require('@truffle/hdwallet-provider');
const infuraKey = fs.readFileSync(".infuraKey").toString().trim();
const mnemonic = fs.readFileSync(".mnemonic").toString().trim();

1.2 ropsten网段配置

    在truffle-config.js的networks字段里,开启ropsten网段配置

    ropsten: {provider: () => new HDWalletProvider(mnemonic, `https://ropsten.infura.io/v3/` + infuraKey),network_id: 3,       // Ropsten's idgas: 5500000,        // Ropsten has a lower block limit than mainnetconfirmations: 2,    // # of confs to wait between deployments. (default: 0)timeoutBlocks: 20000,  // # of blocks before a deployment times out  (minimum/default: 50)skipDryRun: true,     // Skip dry run before migrations? (default: false for public nets )port: 8545},

1.3 rinkeby网段配置

    在truffle-config.js的networks字段里,开启rinkeby网段配置

    rinkeby: {provider: () => new HDWalletProvider(mnemonic, `https://rinkeby.infura.io/v3/` + infuraKey),network_id: 4,},

1.4 kovan网段配置

    在truffle-config.js的networks字段里,开启kovan网段配置

    kovan: {provider: () => new HDWalletProvider(mnemonic, `https://kovan.infura.io/v3/` + infuraKey),network_id: 42,},

1.5 主网配置

    在truffle-config.js的networks字段里,开启主网配置

    mainnet: {provider: () => new HDWalletProvider(mnemonic, `https://mainnet.infura.io/v3/` + infuraKey),network_id: 1,},

1.6 ganache配置

    在truffle-config.js的networks字段里,添加一个ganache网段,用于本地测试

    ganache: {host: "127.0.0.1",     // Localhost (default: none)port: 8545,            // Standard Ethereum port (default: none)network_id: "*",       // Any network (default: none)},

    truffle-config.js的完整配置如下:
    //truffle-config.js

const fs = require('fs');const HDWalletProvider = require('@truffle/hdwallet-provider');
const infuraKey = fs.readFileSync(".infuraKey").toString().trim();
const mnemonic = fs.readFileSync(".mnemonic").toString().trim();module.exports = {networks: {ganache: {host: "127.0.0.1",     // Localhost (default: none)port: 8545,            // Standard Ethereum port (default: none)network_id: "*",       // Any network (default: none)},// development: {//   host: "127.0.0.1",     // Localhost (default: none)//   port: 8545,            // Standard Ethereum port (default: none)//   network_id: "*",       // Any network (default: none)// },// develop: {//   host: "127.0.0.1",     // Localhost (default: none)//   port: 8545,            // Standard Ethereum port (default: none)//   network_id: "*",       // Any network (default: none)//   gas: 8500000,           // Gas sent with each transaction (default: ~6700000)//   gasPrice: 20000000000,  // 20 gwei (in wei) (default: 100 gwei)// },// Another network with more advanced options...// advanced: {// port: 8777,             // Custom port// network_id: 1342,       // Custom network// gas: 8500000,           // Gas sent with each transaction (default: ~6700000)// gasPrice: 20000000000,  // 20 gwei (in wei) (default: 100 gwei)// from: <address>,        // Account to send txs from (default: accounts[0])// websockets: true        // Enable EventEmitter interface for web3 (default: false)// },// Useful for deploying to a public network.// NB: It's important to wrap the provider as a function.ropsten: {provider: () => new HDWalletProvider(mnemonic, `https://ropsten.infura.io/v3/` + infuraKey),network_id: 3,       // Ropsten's idgas: 5500000,        // Ropsten has a lower block limit than mainnetconfirmations: 2,    // # of confs to wait between deployments. (default: 0)timeoutBlocks: 20000,  // # of blocks before a deployment times out  (minimum/default: 50)skipDryRun: true,     // Skip dry run before migrations? (default: false for public nets )port: 8545},rinkeby: {provider: () => new HDWalletProvider(mnemonic, `https://rinkeby.infura.io/v3/` + infuraKey),network_id: 4,},kovan: {provider: () => new HDWalletProvider(mnemonic, `https://kovan.infura.io/v3/` + infuraKey),network_id: 42,},mainnet: {provider: () => new HDWalletProvider(mnemonic, `https://mainnet.infura.io/v3/` + infuraKey),network_id: 1,},// Useful for private networks// private: {// provider: () => new HDWalletProvider(mnemonic, `https://network.io`),// network_id: 2111,   // This network is yours, in the cloud.// production: true    // Treats this network as if it was a public net. (default: false)// }},// Set default mocha options here, use special reporters etc.mocha: {timeout: 300000,reporter: 'eth-gas-reporter',reporterOptions: { excludeContracts: ['Migrations'] }},// Configure your compilerscompilers: {solc: {version: "0.5.12",    // Fetch exact version from solc-bin (default: truffle's version)// docker: true,        // Use "0.5.1" you've installed locally with docker (default: false)// settings: {          // See the solidity docs for advice about optimization and evmVersion//  optimizer: {//    enabled: false,//    runs: 200//  },//  evmVersion: "byzantium"// }},},
};

2 部署指定合约到指定网络

2.1 进入ropsten并部署

    按Ctrl+C、Ctrl+D,退出当前的truffle控制台,重新使用如下命令:

truffle console --network ropsten
//部署第2个合约
migrate -f 2 --to 2

2.2 进入rinkeby并部署

    按Ctrl+C、Ctrl+D,退出当前的truffle控制台,重新使用如下命令:

truffle console --network rinkeby
//部署第2个合约
migrate -f 2 --to 2

2.3 进入kovan并部署

    按Ctrl+C、Ctrl+D,退出当前的truffle控制台,重新使用如下命令:

truffle console --network kovan
//部署第2个合约
migrate -f 2 --to 2

2.4 进入主网并部署

    按Ctrl+C、Ctrl+D,退出当前的truffle控制台,重新使用如下命令:

truffle console --network mainnet
//部署第2个合约
migrate -f 2 --to 2

2.5 进入ganache并部署

    按Ctrl+C、Ctrl+D,退出当前的truffle控制台,重新使用如下命令:

truffle console --network ganache
//部署第2个合约
migrate -f 2 --to 2

truffle部署指定的合约到指定网络相关推荐

  1. 【区块链】Truffle 部署 编译 测试 智能合约 的 完整实践操作

    本文首发自我的CSDN博客,原文链接如下 blog.csdn.net/diandianxiy- 目标 搭建开发环境 创建一个Truffle项目 编写智能合约 编译转移智能合约 测试智能合约 创建用户界 ...

  2. PIM-SM DR指定路由器以及 PIM-DM指定前转器的区别 【转自网络】

    很多同学将PIM-SM DR指定路由器以及 PIM-DM指定前转器的概念搞混,这里做个解释,希望能帮助大家理清.   1.PIM-SM DR 指定路由器     PIM在每一个多路访问网络,使用PIM ...

  3. 以太坊Dapp开发通过truffle部署合约

    以太坊Dapp开发通过truffle部署合约 Truffle是一个非常流行 DApp 开发框架,他可以帮我们处理掉大量无关紧要的小事情,让我们可以迅速开始写代码-编译-部署-测试-打包DApp这个流程 ...

  4. 我自己可以挖矿了!使用Ethereum C++客户端Aleth建一个私有网络,并使用Remix部署一个智能合约

    本文是按照这个教程执行的结果记录:Creating a private network and deploying a contract with Remix Ethereum Aleth在Wins上 ...

  5. 如何开发并部署Solana智能合约

    如果你想学习如何开发Solana智能合约和项目,那么你来对地方了. Solana是一个新兴的.高性能的且无许可的公链,它提供了快速.经济且可扩展的交易体验,并且它还支持使用Rust,C++和C语言来编 ...

  6. 深入解析Safe多签钱包智能合约:代理部署与核心合约

    概述 读者可以前往我的博客获得更好的阅读体验 Safe(或称Gnosis Safe)是目前在以太坊中使用最为广泛的多签钱包.本文主要解析此钱包的逻辑设计和代码编写. 读者可以前往Safe Contra ...

  7. 以太坊智能合约Java_以太坊:调用已部署的智能合约

    目录 1. 调用已部署的智能合约 相关截图来自: 1.1. ABI是payload编码的依据 ABI,应用二进制接口(Application Binary Interface).它是从区块链外部与合约 ...

  8. 以太坊Dapp通过web3js部署调用智能合约

    通过web3js部署调用智能合约 1.在线编译智能合约 2.部署合约 3.调用合约 参考视频:https://www.bilibili.com/video/BV14z4y1Z7Jd?p=1 1.在线编 ...

  9. 002开发、部署一个共享自行车区块链网络

    前言 在本系列第 1 部分文章的中,我们一起学习了 Fabric.Composer 基础知识,利用 Hyperledger Compose 搭建了 Fabric 本地开发环境,运行了一个示例区块链网络 ...

  10. VBA实战技巧精粹012:查找指定目录下的指定文件及Dir函数用法

    问题:有处理学生评语,限于网络条件,往往学生提交的都是单个文件,这就需要将其一一提取出来,然后进行判断.导出等操作,但首先要解决的就是查找所有文件如何操作,这里需要用到Dir函数,当然创建一个文件搜索 ...

最新文章

  1. 收发机中数字中频的设计
  2. mysql 进阶到高级_mysql的高级进阶(一)
  3. 操作系统课设--使用信号量解决生产者/消费者同步问题
  4. 如何读H.264的标准和代码
  5. 华为提出 New IP,欲打破长达半世纪的IP协议重塑互联网
  6. Flink 1.10 Native Kubernetes 原理与实践
  7. CorelDRAWX4的VBA插件开发(十五)选择分辨率一键导出多张图片到桌面
  8. php 检查货币类型_php 判断函数是否为费用类型(金额/货币:6.02)有小数点
  9. Android之Binder和AIDL原理
  10. 新win10计算机分区,预装win10系统新电脑怎么分区
  11. 怎么注册购买163VIP邮箱
  12. docker-compose 安装常用服务
  13. 从软件工程师到有赞新零售技术负责人,34岁李星专访
  14. 设置Win10防火墙规则,使得局域网能访问此电脑的Tomcat服务器
  15. VOLTE-QOS服务质量
  16. 计算机与网络基础知识的问答
  17. 【Pranet】论文及代码解读(ResNet部分)——jialiang nie
  18. UI设计——网站收藏
  19. 水星UD6S网卡Linux驱动,水星UD6S无线网卡驱动(修复水星UD6S无线网卡连接异常问题)V1.0 免费版...
  20. 《ROS理论与实践》学习笔记(九)机器人自主导航

热门文章

  1. ios中UIWebview和asiHttprequest的用法
  2. 多项式函数插值:计算基本理论
  3. webstorm添加*.vue文件代码提醒支持webstorm支持es6vue里支持es6写法
  4. javaweb实现教师和教室管理系统 java jsp sqlserver
  5. Swift - 设置UIView的背景色和背景图片
  6. Ubuntu Linux 8.04 Vsftp 虚构用户设置
  7. Windows Server 2008 R2 小技巧
  8. homebrew下安装mysql_Mac下homebrew安装Mysql以及配置问题
  9. 拓端tecdat|R语言中使用RCPP并行计算指数加权波动率
  10. 拓端tecdat|R语言相关分析和稳健线性回归分析