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相关推荐

  1. Ethereum Bootstrap 以太坊本地私有链开发环境搭建

    通过本文所述方法和项目中的脚本,我们可以快速的搭建好自己的私链进行开发测试. 仓库中包含的工具有: 一个测试账户导入脚本,在首次部署时将五个测试账户私钥导入以太坊节点. 一个genesis.json配 ...

  2. 解决remix在线编译器连接本地私有链环境不成功的问题

    解决remix在线编译器连接本地私有链环境不成功的问题 参考文章: (1)解决remix在线编译器连接本地私有链环境不成功的问题 (2)https://www.cnblogs.com/sky-chen ...

  3. 使用truffle 创建代币合约 使用ganache部署私有链 以及使用Atom 进行合约代码开发

    参照官网的文档: http://truffleframework.com/tutorials/robust-smart-contracts-with-openzeppelin windows上最好使用 ...

  4. 以太坊钱包开发-下载、编译 go-ethereum,搭建 eth 私有链

    下载 $ mkdir -p $GOPATH/src/github.com/ethereum $ cd $GOPATH/src/github.com/ethereum $ git clone https ...

  5. 火狐浏览器添加MetaMask钱包和本地开启私有链开发

    火狐浏览器添加MetaMask钱包 因为对其配置了代理工具,所以直接使用谷歌引擎搜索MetaMask钱包即可  第一次使用,立即开始设置 点击我同意,进行密码的创建 牢记助记词,助记词及其关键,将其存 ...

  6. 以太坊(Ethereum) - Ganache本地区块链

    章节 以太坊(Ethereum) – 是什么 以太坊(Ethereum) – 什么是智能合约 以太坊(Ethereum) – 以太币 以太坊(Ethereum) – 虚拟机(E.V.M.) 以太坊(E ...

  7. 以太坊开发(二)使用Ganache CLI在私有链上搭建智能合约

    以太坊开发(二)使用Ganache CLI在私有链上搭建智能合约 在上一篇文章中,我们使用Truffle自带的客户端Truffle Develop,在私有链上搭建并运行了官方提供的WebPack智能合 ...

  8. MIST浏览器不能连接私有链

    搭建好私有链后,不能通过MIST浏览器链接,显示错误. 解决方案: 通过命令行 , geth --datadir   "./"启动私有链,并找到 url= 新开一CMD窗口,进入到 ...

  9. 搭建以太坊私有链(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 ...

  10. 如何搭建以太坊私有链

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 如何搭建以太坊私有链1 今天讲一下如何搭建以太坊私有连,当然了在你阅读这篇文章的时候,最好是有一定基础,比如知道什么是以 ...

最新文章

  1. PHP 命名空间(namespace)
  2. python字符串数组中最短的_python求解数组中两个字符串的最小距离
  3. jQuery实现点击开关图片切换
  4. Oracle Partition Outer Join 稠化报表
  5. 【转】译文:.net 程序员易犯的7个通病
  6. c#程序打包,同时把netframework也打包进去
  7. 把CNN里的乘法全部去掉会怎样?华为提出移动端部署神经网络新方法
  8. Android 应用开发(50)---GridLayout(网格布局)
  9. 小米11 Pro系列细节再曝光:大杯大升级!
  10. 分类算法-逻辑回归与二分类
  11. mysql缓存怎么防止缓存击穿_带你搞明白什么是缓存穿透、缓存击穿、缓存雪崩...
  12. SQL 取空格右边的字符_从零学会SQL,第2关
  13. 给input文本框添加灰色提示文字
  14. MediaChooser图库浏览器
  15. Research| 细菌产生的脲酶引起克罗恩病患者的肠道菌群失调
  16. ue4/5玻璃材质制作(简单易懂上手)
  17. 《数字营销实战》思维导图
  18. 20X25 FCPX插件24种视频网站点赞订阅关注MG动画效果 Youtube Subscribe Generators
  19. ShardingSphere分库分表核心原理精讲第十二节 数据安全和脱敏详解
  20. @available 和 #available的用法

热门文章

  1. linux软防火墙DDOS,Linux iptables防火墙详解 + 配置抗DDOS***策略实战
  2. Vb中 继承 多态的实现
  3. Murex 快速风险分析引擎
  4. 时间换算(UTC是世界协调时,BJT是北京时间)
  5. 台式计算机的cpu,台式电脑处理器(CPU)性能排行榜
  6. 赫茨伯格的双因素激励理论(1966)--zt
  7. 蓦然回首,已然踏上编程路
  8. learning的反义词英文_常见英语词汇反义词大全
  9. Android手机无法上网怎么办,为什么android手机已经连接WIFI还是不能上网?
  10. matlab的方法定义变量,Matlab定义变量的操作步骤