2017-12-07 芯链团队 小明微思考
原文地址:https://mp.weixin.qq.com/s?__biz=MzA4Mzk2MzUzNg==&mid=2651223347&idx=1&sn=a243a8b171709fbcc8cbffda1190218d&chksm=841caeccb36b27da3cd5a36243c0b1846d77bd2d7f5f8d0ccf42f3532f4ac997fb544f909311&mpshare=1&scene=23&srcid=011796NXzw36h2Exc6IV97UW#rd
版权属于原作者。

本文主要是针对有兴趣进行以太坊智能合约开发的技术爱好者,进行开发调试工具使用方面的指导。

 

1.   安装METAMASK

MetaMask 是一款浏览器插件钱包,不需下载安装客户端,只需添加至浏览器扩展程序即可使用,非常方便,并且可以很方便的调试和测试以太坊的智能合约。

1.1   首先安装Google Chrome浏览器

Google Chrome是一款由Google公司开发的网页浏览器,该浏览器基于其他开源软件撰写,包括WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。

MetaMask是Chrome浏览器上的一种插件,所以必须先安装Chrome浏览器。直接在百度浏览器中搜索,可以直接进行下载。   

1.2   安装Chrome的METAMASK插件

这里先需要提醒下,MetaMask目前必须在Chrome浏览器的在线应用商店进行在线下载和安装,因为网络原因你需要使用VPN才能下载安装。

输入MetaMask官网地址,https://metamask.io/,在官网主页参考下图指引通过Chrome应用商店来安装该插件。

请选择“添加至CHROME”,系统会自动下载和安装。

安装完毕后,在浏览器上会显示该插件的小图标,点击下图中“小狐狸”图标,会出现MetaMask的主操作界面。

首先是提示界面,可以忽略,点击“Accept”,进入下一步,下一步也是声明,需要拉倒低才能点击“Accept”。

然后会看到此界面,请输入账号密码一定不能忘记(也可以导入先去已有的Metamask账号):

在创建账号的时候为了防止账号密码丢失,这里提供的找回的助记词功能,拷贝恢复账号的安全码,一共是12个单词,切记,这一步很重要,一定要把这安全码记录下来方便恢复账号。

然后系统会生成一个以太坊的账号,你可以进行以他操作:

  • 可以很方便的查看钱包地址

  • 将地址转换为二维码

  • 买入以太币

  • 发送以太币

1.3   配置MetaMask

MetaMask默认连接的是以太坊的Main Ethereum Network,为了方便我们测试智能合约,需要切换到Ropsten Test Network。

1.4   在测试网络中获取以太币

在测试网络中获取以太币不需要付费,直接点击“BUY”,进入获取测试网络以太币界面,点击“ROPSTEN TEST FAUCET”,进入挖矿界面,每次最多挖去13个测试网络以太币。

 

 

2.    智能合约发布

2.1   获取HPB智能合约源码

本章节的智能合约发布调试主要以发布在以太坊的HPB智能合约作为测试和调试的对象。

HPB的智能合约源码已提交到etherscan.io,并认证通过,大家可以从以下地址获取:

https://etherscan.io/address/0x38c6A68304cdEfb9BEc48BbFaABA5C5B47818bb2#code

2.2   在线智能合约编译器

通过MetaMask来发布校验代码,需要结合一款Solidity在线编译器,可以很方便的对智能合约的代码进行调试。

请在网页中输入在线Solidity的编辑器地址,直接在网页中打开:https://ethereum.github.io/browser-solidity/

2.3    编译智能合约

把从etherscan.io下载的HPB智能合约源码黏贴到编辑器中。HPB的源码技术爱好者可以自己分析理解下,这里为了后续能在MetaMask中进行调试测试和检查发布结果,这里需要对代码进行校验和编译。

请先在Chrome中登录MetaMask账号,在下图界面上选择“run”按钮,系统会自动把MetaMask中你的ETH账号同步到下图中的“Account”选项中,其他属性不用修改。

注意在下图中,选择智能合约的名称,名称和源码中的名称保持一致:

在Create按钮旁边的输入框输入构造参数,此参数是接受ETH转账地址的账号

例如本文中ETH测试网络中的账号:“0x2F89c15a7e52b00084e01Cc957C656fc53ceAc11”,注意一定要带有双引号。

同时请选择编译版本,和智能合约代码中指定的版本保持一致,同时后发布成功后也需要校验也需要选择和发布时候一致的编译版本。

2.4   发布智能合约

提示:发布智能合约的时候必须指定一个以太坊的账号进行发布。

校验完毕后点“Create”,在线编译器会自动的进行代码校验,如果校验通过会弹出MetaMask对话框。本文是通过创建的账户Account1来提交创建的合约。

2.5   查看智能合约产生的代币

智能合约发布成功后,会自动生成代币,HPB的代币总量是1亿枚。

2.6   查看创建智能合约交易

点击metamask查看最新的一笔发布智能合约的交易,点击跳转到网页显示详情。

通过下图可以找到智能合约的地址,以及ABI字符串,请复制ABI字符串后续校验智能合约的时候需要使用。

提示:注意ABI字符串是通用的截取规范是在下图中的“0029”数字之后。

2.7    校验已发布的智能合约

点击下图中的智能合约地址链接,进入智能合约详情页面。

跳转到此页面后,点击下图中的“Verify And Publish”,进入验证页面。

进入验证页面后,请注意一下几点:

  • Contract Name 务必保持和源码中的Contract Name保持一致。

  • Compiler选择的版本号务必和在MetaMask发布的版本保持一致。、

  • Optimization 请选择Disabled

还是在本页面,找到下图输入项,然后输入本次发布智能合约生成的ABI字符串,点击“Verify And Publish”验证智能合约。

发布过程如果没出现报错提示,会显示下列信息,表示验证通过。

2.8   查看校验通过的智能合约

校验通过后,可以在以太坊测试网络上查看校验通过智能合约详情。

测试网查询地址:https://ropsten.etherscan.io

可以很清晰的看到智能合约的相关属性,输入输出项。

最新文章

  1. 利用scp传输文件
  2. Python开发程序:学员管理系统(mysql)
  3. linux scp 远程复制文件
  4. Redis学习笔记十:独立功能之监视器
  5. Java分布式Socket监控项目思考
  6. Jsoup的demao
  7. js部分---运算符,if分支语句,for循环;switch case 的用法;
  8. Visual Studio 2013
  9. iOS 中UIButton的 settitle 和 titlelabel的使用误区
  10. Spark机器学习 Day2 快速理解机器学习
  11. C# 文件粉碎
  12. php中文分词
  13. Run Away 模拟退火
  14. Spring知识点回顾(03)Bean的 Scope
  15. 028 kafka面试小节
  16. 两种语言实现设计模式(C++和Java)(二:单例模式)
  17. Java设计模式学习记录-享元模式
  18. 【Devops】【docker】【CI/CD】Jenkins自动安装JDK需要提供Oracle的账号密码,否则报错:Unable ro auto-install JDK until the license is accepted
  19. django中的template部分
  20. css3 放大缩小代码

热门文章

  1. 高级软件测试技术-任务进度-Day03
  2. 【python】集合 list差集|并集|交集
  3. Vue知识整理14:组件基础
  4. SQLSERVER 和 ORACLE 查询数据库文件大小
  5. sklearn+nltk ——情感分析(积极、消极)
  6. Go语言入门篇-Golang之文本编码处理
  7. c++ 十进制、十六进制和BCD的相互转换
  8. & 和 && 区别和联系,| 和 || 区别和联系
  9. Thinkphp设置PC和手机端模板
  10. Java 接口和多态练习