MateMask连接本地私有链节点ganache
MateMask既可以连接以太坊的主网,也可连接以太坊的测试网(ropsten网、rinkeby网等),还可以连接私有链,只要给出URL和端口就可以连接。这里介绍MateMask连接私有链节点ganache。
1、创建twoSol工程
mkdir twoSol
cd twoSol
npm init -y
truffle init
2、修改package.json和truffle-config.js
2.1 修改package.json
修改twoSol/package.json文件,主要是添加dependencies、devDependencies这2项,如下:
//package.json
{"name": "twosol","version": "1.0.0","description": "","main": "index.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1"},"keywords": [],"author": "","license": "ISC","dependencies": {"@openzeppelin/contracts": "^2.5.0","@truffle/hdwallet-provider": "^1.1.1","bignumber": "^1.1.0","bignumber.js": "^8.1.1","chai": "^4.2.0","chai-as-promised": "^7.1.1","eslint": "^5.15.0","ethereumjs-tx": "^1.3.7","request": "^2.88.2","web3": "^1.3.0"},"devDependencies": {"@babel/core": "^7.12.3","@babel/preset-env": "^7.12.1"}
}
2.2 修改truffle-config.js
修改twoSol/truffle-config.js,主要是开启development字段和设置sol编译版本,如下。
//truffle-config.js需要修改的地方有2个:
//1)开启development字段networks: {development: {host: "127.0.0.1", // Localhost (default: none)port: 8545, // Standard Ethereum port (default: none)network_id: "*", // Any network (default: none)},...},// 2)指定solidity版本
compilers: {solc: {version: "0.5.16", ...}
},
2.3 安装依赖包
npm install
3、创建合约和相关的部署脚本
3.1 创建WhiteRiceToken.sol合约
在twoSol/contracts目录下,新建一个合约名称为WhiteRiceToken.sol
vim contracts/WhiteRiceToken.sol
//WhiteRiceToken.sol
pragma solidity ^0.5.0;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/token/ERC20/ERC20Detailed.sol";contract WhiteRiceToken is ERC20,ERC20Detailed {constructor() public ERC20Detailed("WhiteRiceToken","WRT",18) {_mint(msg.sender, 10000000000 * (10 ** uint256(decimals())));}
}
3.2 创建合约的部署脚本
在twoSol/migrations目录下,新建一个合约名称为2_deploy_WRT.js
vim migrations/2_deploy_WRT.js
//2_deploy_WRT.js
const WhiteRiceToken = artifacts.require("WhiteRiceToken");module.exports = function(deployer) {deployer.deploy(WhiteRiceToken);
}
3.3 工程的目录结构
图(1) twoSol的工程目录
4、启动ganache节点
a) 配置ganache
设置ganache的IP和端口,依次如下:
IP:127.0.0.1
Port:8545
图(2) 配置ganache节点
b) 点击[restart]按钮,即可重启ganache
5、编译并部署合约
进入truffle的console模式,编译使用compile命令,部署使用migrate命令。
truffle console
compile
migrate
合约部署成功后,会生成一个合约地址,此WRT合约地址为:0x7c8d677B43DA2Fd8d64802558F2DBdAabfbaB7A1
6、设置节点参数,并重启浏览器
在MetaMask里设置localhost:8545网络连接,用来连接本地的私有链节点,比如ganache,然后,重启google浏览器。如图(3)所示。
图(3) 在MateMask里,设置私有链节点参数
7、连接MateMask
7.1 以助记词的方式登录MateMask
a) 选中网络类型:localhost 8545,点击[import using Secret Recovery Phrase]
图(4) 选中"助记词方式"登录
b)拷贝ganache里的助记词到MateMask
图(5) 拷贝助记词到MateMask
一路next即可。
7.2 添加WRT合约地址
ganache有10个账户:Account1~Account10,默认用第一个账户Account1来发布合约,消耗的gas也是第一个账户提供的,所以Account1是WRT合约的主人。
在Account1页面,点击[添加代币] —> 填写WRT合约的地址,一路next即可。
图(6) 在Account1里添加ERC20 Token
图(7) 填写合约地址
图(8) 一路next
图(9) Account1的Token列表
MateMask连接本地私有链节点ganache相关推荐
- Ethereum Bootstrap 以太坊本地私有链开发环境搭建
通过本文所述方法和项目中的脚本,我们可以快速的搭建好自己的私链进行开发测试. 仓库中包含的工具有: 一个测试账户导入脚本,在首次部署时将五个测试账户私钥导入以太坊节点. 一个genesis.json配 ...
- 解决remix在线编译器连接本地私有链环境不成功的问题
解决remix在线编译器连接本地私有链环境不成功的问题 参考文章: (1)解决remix在线编译器连接本地私有链环境不成功的问题 (2)https://www.cnblogs.com/sky-chen ...
- 使用truffle 创建代币合约 使用ganache部署私有链 以及使用Atom 进行合约代码开发
参照官网的文档: http://truffleframework.com/tutorials/robust-smart-contracts-with-openzeppelin windows上最好使用 ...
- 以太坊钱包开发-下载、编译 go-ethereum,搭建 eth 私有链
下载 $ mkdir -p $GOPATH/src/github.com/ethereum $ cd $GOPATH/src/github.com/ethereum $ git clone https ...
- 火狐浏览器添加MetaMask钱包和本地开启私有链开发
火狐浏览器添加MetaMask钱包 因为对其配置了代理工具,所以直接使用谷歌引擎搜索MetaMask钱包即可 第一次使用,立即开始设置 点击我同意,进行密码的创建 牢记助记词,助记词及其关键,将其存 ...
- 以太坊(Ethereum) - Ganache本地区块链
章节 以太坊(Ethereum) – 是什么 以太坊(Ethereum) – 什么是智能合约 以太坊(Ethereum) – 以太币 以太坊(Ethereum) – 虚拟机(E.V.M.) 以太坊(E ...
- 以太坊开发(二)使用Ganache CLI在私有链上搭建智能合约
以太坊开发(二)使用Ganache CLI在私有链上搭建智能合约 在上一篇文章中,我们使用Truffle自带的客户端Truffle Develop,在私有链上搭建并运行了官方提供的WebPack智能合 ...
- MIST浏览器不能连接私有链
搭建好私有链后,不能通过MIST浏览器链接,显示错误. 解决方案: 通过命令行 , geth --datadir "./"启动私有链,并找到 url= 新开一CMD窗口,进入到 ...
- 搭建以太坊私有链(PoA)--CentOS7.6 on 阿里云ECS、macOS Catalina on Mac、Ubuntu20.04 on Raspberry Pi 4B
使用Geth搭建以太坊PoA私有链 搭建以太坊私有链(PoA) 1 阿里云ECS上的操作步骤 1.1 准备环境 1.2 安装Geth及Tools 1.3 创建以太坊私有链的数据文件夹 1.4 用pup ...
- 如何搭建以太坊私有链
链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 如何搭建以太坊私有链1 今天讲一下如何搭建以太坊私有连,当然了在你阅读这篇文章的时候,最好是有一定基础,比如知道什么是以 ...
最新文章
- PHP 命名空间(namespace)
- python字符串数组中最短的_python求解数组中两个字符串的最小距离
- jQuery实现点击开关图片切换
- Oracle Partition Outer Join 稠化报表
- 【转】译文:.net 程序员易犯的7个通病
- c#程序打包,同时把netframework也打包进去
- 把CNN里的乘法全部去掉会怎样?华为提出移动端部署神经网络新方法
- Android 应用开发(50)---GridLayout(网格布局)
- 小米11 Pro系列细节再曝光:大杯大升级!
- 分类算法-逻辑回归与二分类
- mysql缓存怎么防止缓存击穿_带你搞明白什么是缓存穿透、缓存击穿、缓存雪崩...
- SQL 取空格右边的字符_从零学会SQL,第2关
- 给input文本框添加灰色提示文字
- MediaChooser图库浏览器
- Research| 细菌产生的脲酶引起克罗恩病患者的肠道菌群失调
- ue4/5玻璃材质制作(简单易懂上手)
- 《数字营销实战》思维导图
- 20X25 FCPX插件24种视频网站点赞订阅关注MG动画效果 Youtube Subscribe Generators
- ShardingSphere分库分表核心原理精讲第十二节 数据安全和脱敏详解
- @available 和 #available的用法
热门文章
- linux软防火墙DDOS,Linux iptables防火墙详解 + 配置抗DDOS***策略实战
- Vb中 继承 多态的实现
- Murex 快速风险分析引擎
- 时间换算(UTC是世界协调时,BJT是北京时间)
- 台式计算机的cpu,台式电脑处理器(CPU)性能排行榜
- 赫茨伯格的双因素激励理论(1966)--zt
- 蓦然回首,已然踏上编程路
- learning的反义词英文_常见英语词汇反义词大全
- Android手机无法上网怎么办,为什么android手机已经连接WIFI还是不能上网?
- matlab的方法定义变量,Matlab定义变量的操作步骤