更新说明(2018.10.27)
最近MetaMask更新了,UI变动较大,特地上来更新下metamask相关的截图。
写在前面
不可否认做为一个web前端工程师,转型区块链,“智能合约开发”是最好的一个切入点了。嗯,那么就做一个以太坊智能合约开发的系列教程吧。不奢望转型,只为了记录和见证自己的成长。这一篇算是引子、序或者叫前传。
本文会详细的介绍创建一个基于以太坊ERC20代币的整个流程,旨在帮助没有任何基础的小伙伴顺利创建自己的代币,并有一个较为完整的从开发部署到交易测试的体验。
一、开发前的准备
1、首先需要给你的chrome浏览器安装一个metaMask钱包插件。
metaMask的安装有些偏离主题(其实是因为自己安装过了懒得安第二遍)这里就不贴具体步骤了,给你们个传送门。
安装指南:http://8btc.com/thread-76137-1-5.html
下载地址(免FQ):https://github.com/MetaMask/metamask-extension/releases
2、然后提前打开官方的在线编辑器remix IDE(http://remix.ethereum.org/),用于随后的代码编辑和部署。
当然创建的工具和方式还有很多,这里选择metaMask和remix IDE,仅仅是因为以这样的方式最简单。
二、开发与部署
1、打开remix IDE,新建一个.sol文件。

2、从官网(https://www.ethereum.org/token)粘贴代码过来并编译。在此先直接使用官方示例代码,solidity代码的编写会在随后的系列文章中慢慢展开。


3、登陆metamask钱包并选择测试网络。

4、在IDE中切换到run页签并选择运行环境和创建合约的账号。

5、填写构建合约所需要的参数,并发起交易。在区块链中合约及节点间的交互就叫交易,相当于web应用中的发起请求。

6、在自动弹出的钱包确认页点submit。如没有自动弹出,点浏览器右上角的小狐狸主动打开并确认交易。

7、顺利的话,这时候控制台中就是显示交易查询连接,点进去可以查看交易详情.随后(测试网络很快也就几秒钟)等交易确认后,右侧就会看到咱们创建的代币合约地址了。

8、复制合约地址,打开小狐狸并Add Token。点击列表中代币还可以进入代币详情页面查看代币的所有信息。




三、代币交易
ps:在2018.10.26后安装的新版metaMask钱包提供了非eth代币的交易功能,大家可以通过metaMask直接发送交易完成测试,博主这边就不贴图了,自行摸索。
下面是使用网页版钱包进行代币交易的流程。
1、打开钱包页面(https://www.myetherwallet.com/#send-transaction),选择测试网络以及metaMask钱包,然后连接。

2、填写代币地址等信息,完成添加代币操作。

3、填写要转给的地址和数量,并选择刚添加的代币,依次生成交易、发送交易、确认交易。


4、看到下面的提示就说明交易发起成功了,点击按钮进去可以看到本次交易的完整信息。下面就是等待交易被确认了。


5、交易被确认后,咱们再去看代币合约,就会看到交易记录里有一笔交易了。打开钱包也会看到对应账户代币的增减。

四、智能合约开发指北
最后推荐下自己学习区块链以及智能合约开发过程中遇到的对我帮助很大的学习资源。
1、深入浅出区块链博客 https://learnblockchain.cn
2、慕课的区块链入门视频课程(收费) https://coding.imooc.com/learn/list/214.html
3、CryptoZombies(最好的入门实战) https://cryptozombies.io/zh/
参考资料
1、https://www.ethereum.org/token
2、https://learnblockchain.cn/2018/01/12/create_token/