win10 solidity开发环境搭建
1. 软件安装
1) 安装nodejs
安装完成后将node.exe所在路径加入环境变量PATH中,以便在cmd命令行中直接使用node
和npm
命令
下面的操作在git bash
下进行
2) 安装solc
npm install -g solc
3) 安装truffle/ganache-cli
# 安装truffle
npm install -g truffle
# 安装ganache-cli
npm install -g ganache-cli
4) 安装Ganache
5) 安装web3
npm install -g web3
6) 安装webpack
npm install -g webpack
[可选安装]
1)安装geth
下载地址
该步骤可以跳过,安装Mist浏览器或Ethereum Wallet钱包的时候会安装geth
2) 安装Mist/Ethereum Wallet
github下载地址
安装完成后,将geth所在路径
C:\Users\<username>\AppData\Roaming\Mist\binaries\Geth\unpacked
加入环境变量PATH中,其中为你的用户名。
2. 创建dApp项目
1) 新建项目
$ mkdir demo
$ cd demo
$ truffle unbox webpack
Downloading...
Unpacking...
Setting up...
Unbox successful. Sweet!
Commands:
Compile: truffle compile
Migrate: truffle migrate
Test contracts: truffle test
Run linter: npm run lint
Run dev server: npm run dev
Build for production: npm run build
$ ls
app/ build/ migrations/ package-lock.json webpack.config.js
box-img-lg.png contracts/ node_modules/ test/
box-img-sm.png LICENSE package.json truffle.js
不要使用truffle unbox metacoin
, metacoin
中不包含后面需要用到的的package.json
文件
2) 安装项目依赖的NPM包
$ npm install
3) 修改配置
由于使用命令行版的ganache-cli,需要修改truffle.js,将port
修改为8545
, 如果使用图形版的ganache,则不需要修改,其port就是7545
。
$ vi truffle.js
# 设置内网
networks: {
development: {
host: "127.0.0.1",
port: 8545,
network_id: "*" // Match any network id
}
}
注意: 将ganache
改为developement
, 否则会出现如下提示:
Error: No network specified. Cannot determine current network.
4) 启动节点
另外打开一个git bash,输入如下命令启动节点:
$ ganache-cli
注意:
- 单纯使用
ganache-cli
每次都随机生成10个账户地址 - 如果保证每次启动,生成的账户都一致,需要加上
-d
参数,此外还可以使用--db
指定链数据保存路径
如果配合metamask
使用,建议ganache-cli -d
启动
输出如下:
回到原来的终端
5) 编译合约
$ truffle compile
6) 部署合约
truffle migrate
如果成功,会出现如下提示:
Using network 'development'.
Running migration: 1_initial_migration.js
Deploying Migrations...
... 0x833670e1b1d67d41ab7c83d8dcae313641504122418d2a0191a6294cf88e6859
Migrations: 0xbd613fcb1b2e57137ccb6e7834677dd017f4e7bb
Saving successful migration to network...
... 0xdc6041f8003d27b2caef37d921dd21d1b5be88ca672e94c6a0ec2c86fa3e246b
Saving artifacts...
Running migration: 2_deploy_contracts.js
Deploying ConvertLib...
... 0x251fe34333ceb9bacdf6dd8273b9c70a849bc4422869dda60187a39321fe5828
ConvertLib: 0xd09d860b99174cee7cc7a63e284066235bf01924
Linking ConvertLib to MetaCoin
Deploying MetaCoin...
... 0x02c392cfac6f6c9cd69da824fddddbf6d65e5db1b43221d7a62b4806dcf1ee07
MetaCoin: 0x8e72de56522f6c88ed6e744018eab54379e9261b
Saving successful migration to network...
... 0xe45785b07b32d34e048136d4d66ff8bb06c93ff7c0d373f17e1947267b9a3a3a
Saving artifacts...
注意同时在ganache-cli
端也会有信息输出。
7) 运行合约
$ npm run dev
输出内容如下:
> truffle-init-webpack@0.0.2 dev F:\Workspace\test\demo
> webpack-dev-server
i 「wds」: Project is running at http://localhost:8080/
8) 浏览器访问
效果:
情形1> metamask没有登录
情形2> metamask使用ganache-cli
生成的账户登录
1) 使用12个单词短语恢复账号
2) 将网络切换到"localhost:8545"
3) 重新访问,效果如下:
4) 导入其余的9个账户
通过9次"Create Account"即可将其余的9个账户一同导入
使用ganache
ganache
和ganache-cli
使用方法相同,且默认每次启动都使用相同的账户
另外 还需要 新建rpc,点击"Custom RPC"
切换网络为localhost:7545
参考:
- https://truffleframework.com/docs/truffle/getting-started/creating-a-project
- https://truffleframework.com/docs/truffle/reference/configuration
- https://github.com/trufflesuite/truffle-init-webpack
- https://truffleframework.com/docs/truffle/getting-started/truffle-with-metamask
- https://truffleframework.com/tutorials/truffle-and-metamask
win10 solidity开发环境搭建的更多相关文章
- (一)Hololens Unity 开发环境搭建(Mac BOOTCAMP WIN10)
(一)Hololens Unity 开发环境搭建(Mac BOOTCAMP WIN10) 系统要求 64位 Windows 10 除了家庭版的 都支持 ~ 64位CPU CPU至少是四核心以上~ 至少 ...
- win10 + VS2010 + OpenCV2.4.10重编译OpenCV开发环境搭建
win10 + VS2010 + OpenCV2.4.10重编译OpenCV开发环境搭建 重编译的优点:能够调试的时候看OpenCV的源码. 重编译要得到的东西:Debug版本号和Release版本号 ...
- win10子系统linux.ubuntu开发环境搭建
移步新博客... win10子系统linux.ubuntu开发环境搭建
- 以太仿DApp开发环境搭建
在网上找了些以太仿的资料,是node.js写的,之前也了解过node.js,正好也可以用上.本篇主要学习以太仿DApp开发环境搭建. 一.安装 DApp 开发环境 1.1安装 Node.js 首先下载 ...
- Windows 10 IoT Serials 1 - 针对Minnow Board MAX的Windows 10 IoT开发环境搭建
目前,微软针对Windows IoT计划支持的硬件包括树莓派2,Minnow Board MAX 和Galileo (Gen 1和Gen 2).其中,Galileo (Gen 1和Gen 2)运行的是 ...
- 智能合约开发环境搭建及Hello World合约
如果你对于以太坊智能合约开发还没有概念(本文会假设你已经知道这些概念),建议先阅读入门篇. 就先学习任何编程语言一样,入门的第一个程序都是Hello World.今天我们来一步一步从搭建以太坊智能合约 ...
- 勤拂拭软件 java web 开发教程(1) - 开发环境搭建
勤拂拭软件系列教程 之 Java Web开发之旅(1) Java Web开发环境搭建 1 前言 工作过程中,遇到不少朋友想要学习jsp开发,然而第一步都迈不出,连一个基本的环境都没有,试问,如何能够继 ...
- 勤拂拭软件Android开发之旅(1) 之 Android 开发环境搭建
勤拂拭软件工作室原创出品,欢迎转载,欢迎交流. 转载请注明原文:http://www.cnblogs.com/wangleiblog/p/6019063.html 勤拂拭软件Android开发之旅目录 ...
- 【STM32H7教程】第2章 STM32H7的开发环境搭建
完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=86980 第2章 STM32H7的开发环境搭建 本章主要为大 ...
随机推荐
- 宝塔面板安装SSL证书
2016年阿里云与国内证书颁发机构天威诚信推出了基于Symantec(赛门铁克)的免费SSL证书,有需要免费SSL证书产品的可以前往阿里云进行申请. 申请地址:阿里云云盾证书服务—Symantec免费 ...
- iptables 添加raw提高服务器性能之路
前几天准备把线上一批机器添加iptables.于是梳理出几个需要通外网的端口,80,81等. 防火墙规则如下: #### filter table ########################## ...
- Struts2 前台显示问题
遇到的问题: 查询字段相同值的和的时候用到了sum函数,导致和实体类的不一样,无法取到. 开始的时候的代码. ; 这样的话SUM(o_count)无法显示. 我想把SUM(o_count)设置为实体类 ...
- 使用ueditor配置后台接口
因为后台是java,所以针对的是jsp版本的ueditor. 工程中需要导入jsp目录lib下的jar包.如果是maven管理的工程,可以导入jar包. 上传图片的功能的话,需要后台配置正确.如果需要 ...
- H5中input[type="date"]默认样式修改 伪类
- Python学习笔记,day3
Python学习第三天 一.集合 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 常用操作: s = ...
- Leetcode 两数之和 (散列表)
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例: 给定 nums = [2, 7, 11, 15], target ...
- maya权重拷贝一对一,一对多
是不是有时候盔甲很多很碎头很大,用代理一个个拷贝很麻烦吧 用下面代码直接运行进行一对多或者一对一拷贝 第一个先选择参考物体,加选其他一堆有的没的有权重或没权重的物体执行一键拷贝,就可以啦 以下是源码送 ...
- Java中HBase的集中過濾器
比較過濾器: rowKey过滤器 RowFilter 列族过滤器 FamilyFilter 列过滤器 QualifierFilter 列值过滤器 ...
- 2019年4月zstu月赛A: 我不会做
问题 A: 我不会做 时间限制: 1 Sec 内存限制: 128 MB 题目描述 众所周知,duxing201606就是plw. 然而已经9102年了,plw仍旧没有npy.plw非常难过,于是他打 ...