用truffle部署智能合约到以太坊网络(truffle+infura)的简易方法
1.登录infura官网注册,获取API-KEY
Infura是一个托管的以太坊节点集群,可以将你编写的以太坊智能合约部署到infura提供的节点上,而无需自己搭建以太坊节点。
https://infura.io/
2.安装HDWalletProvider
Infura的HDWalletProvider是一个独立的npm软件包,切换到truffle工程目录使用如下命令安装
npm install truffle-hdwallet-provider
然后修改truffle.js或truffle-config.js文件内容如下:
// 定义HDWalletProvider对象
var HDWalletProvider = require("truffle-hdwallet-provider");
// 提供助记词(mnemonic)或私钥 来导入你的账户
var mnemonic = "topic foster find apple famous have bonus month remain middle funny smart";
// 添加Ropsten测试网络定义
module.exports = {networks: {ropsten: {provider: function() {// 定义以太坊节点 https://ropsten.infura.io/your-api-keyreturn new HDWalletProvider(mnemonic, "https://ropsten.infura.io/503fc5af65d64cdaa090d2873201bc5a")},network_id: 3}}
};
3. 增加配置文件.env
Dotenv是一个零依赖模块,用于从".env"文件中导入环境变量到 process.env,对DAPP来说,这样就可以不用上传钱包助记词等核心机密到GITHUB,便于资产安全。
.env file
mnemonic=topic foster find apple famous have bonus month remain middle funny smart
infurakey=xxxxxxxxxxxxxxxxxxxxxxxxxx
prakey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
这样上面代码如下:
// 定义HDWalletProvider对象
var HDWalletProvider = require("truffle-hdwallet-provider");
const reselt=require('dotenv').config(); // 默认读取项目根目录下的.env文件,用process.env.调用
if (result.error) {throw result.error;
}
console.log(result.parsed);module.exports = {networks: {ropsten: {provider: function() {// 定义以太坊节点 https://ropsten.infura.io/your-api-keyreturn new HDWalletProvider(process.env.mnemonic, "https://ropsten.infura.io/"+ process.env.infurakey);},network_id: 3}}
};
4.部署到以太坊网络
执行如下命令,部署到以太坊测试网络ropsten
truffle migrate --network ropsten
若部署时出现 network up to date 原因由于合约移植是懒编译的,如果发现已经发布过,且发布的版本号没有变化就不会再发布,所以使用--reset。使用truffle migrate --reset来强制重编译并发布所有合约.
若部署时候出现类似 node_modules\node-sss\ventor not found 等出错信息 首先安装 npm install node-sss --save ,如果还是出现 用npm rebuild node-sass --save 重建生成即可。
用truffle部署智能合约到以太坊网络(truffle+infura)的简易方法相关推荐
- 使用remix和matemask部署智能合约到以太坊测试网络
目录 1. 平台准备 1.1 网页版remix 1.2 Chrome浏览器插件metamask 2. 部署智能合约 1. 平台准备 1.1 网页版remix 进入网址 https://remix.et ...
- MIMIC 以太坊医疗项目开发(5)truffle部署智能合约
truffle是以太坊开发框架, 本地的用来编译.部署智能合约的工具. 1. Truffle安装 npm install truffle -g 2. Truffle项目开发 创建目录 mkdir Me ...
- 链乔教育在线|智能合约学习——以太坊智能合约学习笔记(四)
链乔教育在线|智能合约学习--以太坊智能合约学习笔记(四) 本笔记记录的是使用matemask钱包连接以太坊私链,并编写一个基本的提币智能合约部署到以太坊私链上,进行调用. 一.浏览器安装metama ...
- 以太坊智能合约Java_以太坊:调用已部署的智能合约
目录 1. 调用已部署的智能合约 相关截图来自: 1.1. ABI是payload编码的依据 ABI,应用二进制接口(Application Binary Interface).它是从区块链外部与合约 ...
- solidity智能合约[37]-以太坊虚拟机数据存储
EVM 当调用solidity函数时,都会在以太坊虚拟机当中来执行.因此了解以太坊虚拟机的细节,了解其数据的存储机制变得尤为重要. 以太坊虚拟机中的空间分为3大部分.分别为storage.stack与 ...
- 【web3实践 | 以太坊开发框架Truffle使用】
Truffle简介 Truffle是一个面向以太坊的开发框架,提供一整套构建.测试.部署以及管理智能合约的开发工具.Truffle可以与以太坊节点交互,使开发人员能够在本地开发.测试和部署智能合约. ...
- 区块链学习(3) 以太坊测试环境编译并部署智能合约(mac版)
选择编写智能合约的语言 Ethereum上的智能合约需要使用solidity语言来撰写.虽然还有其他能用来撰写智能合约的语言如Serpent(类Python).lll(类Fortran),但目前看到所 ...
- 代币转账_手把手教你从源代码开始搭建多节点以太坊私链(五)部署智能合约及代币发行...
一.安装以太坊合约编译环境 安装solc 智能合约代码的编译可以通过第三方平台或者软件.不过,为了安全起见,还是搭建自己的编译器比较好.(But be aware that if the compil ...
- 基于以太坊网络的智能合约开发、部署和测试(入门)
为什么80%的码农都做不了架构师?>>> 基本概念: 以太坊是一个开放的.公开的区块链平台,允许用户构建自己的去中心化应用在上面运行 Solidity是一种语法类似JavaSc ...
最新文章
- 第十五届全国大学生智能车竞赛相关LOGO,文化衫,背板图片
- Ruby on Rails路径穿越与任意文件读取漏洞分析(CVE-2019-5418)
- el-input中设置onkeypress事件是否匹配正则表达式显示输入内容的格式
- 快速求幂(Quick Exponentiation)
- 新安装的mysql登录不了_mysql 5.6 新安装登录
- MooTools教程(4):函数和MooTools
- POJ--1300--Door Man【推断无向图欧拉通路】
- 苹果Mac专业的字体管理应用:​​​​RightFont
- 招投标相关法律及条例
- 为什么php在网页中不显示,为什么网页显示不出php代码_后端开发
- 游戏服务器系统安装,修复Win10系统游戏服务无法安装错误 0x80073D26(4种方法)...
- VS2010SP1dvd1安装失败。
- Java实现 蓝桥杯 算法提高 求arccos值
- 2011-6-9 有趣的Google能发声音乐电吉他Logo
- 苹果系统虚拟机无usb服务器,win10系统苹果电脑运行虚拟机后无法识别显示U盘的详细方案...
- java method field_java_解析Java中的Field类和Method类,Field类
Field类中定义了一些方 - phpStudy...
- 勒索软件攻击为何越来越多?
- 假设检验 正态总体方差的假设检验
- 刷流量和刷点击率的方法探讨
- 圣斗士星矢243年前的圣战详细介绍
热门文章
- EF CodeFirst下的自动迁移
- C语言笔记(数组地址一些细节)
- XHTML + CSS使用技巧
- Private strand flush not complete 说明
- System.Windows.Forms.ListView
- SpringCloud工作笔记078---SpringBoot中使用sping事件驱动模型
- android学习笔记---62_自定义窗口标题
- Android学习笔记---19_采用ListView实现数据列表显示,以及各种适配器使用,和如何写自己的适配器
- Could not calculate build plan
- MYSQL集群的备份与恢复最终版本