暑期实习是在一家区块链安全公司 Armors,虽然只有四周,但是还是学习了不少相关知识,在这里记录一下。
开发智能合约有多种方法,这里介绍两种,使用geth客户端和truffle+ganache。
使用geth客户端
geth应该是使用的比较早的工具了,可以参考下面的链接进行实践。
主要参考:
1.https://www.cnblogs.com/huyouhengbc/p/5922093.html?utm_source=itdadao&utm_medium=referral
2.https://blog.csdn.net/koastal/article/details/78737543
3.http://remix2.ju3ban.net/
4.https://blog.csdn.net/HiBlock/article/details/80456047
以第一个为主。
注意事项
1.第一步连接
这个代码可能会在后面第四步attach时出现问题,问题在于geth命令有很多参数,比如ipc等,各种各样的环境需要不同的配置
配置参考链接为第二条
我的配置是这样:
第一步
对应的第四步
2.Remix进行编译的问题:
Remix国内版网址参考3
Remix国内版使用教程参考4,里面详细讲了怎么获取编译得到的WEB3DEPLOY部分,这就是参考教程里的第七步我们得到的结果
truffle+ganache
1.安装truffle
2.安装ganache
官网国内不可上,可以直接去github上下(其实官网除了windows版也会跳到这),linux可以下载Appimage版本,然后chmod a+x ganache.Appimage,最后./ganache.Appimage就会提醒你是否安装了
https://github.com/trufflesuite/ganache/releases
3.创建truffle项目
3.1 mkdir myproject&& cd myproject
3.2 truffle init 初始化项目
3.3 truffle complie 编译项目
3.4 配置truffle.js,注意端口等要与你的ganache保持一致
3.5 truffle migrate —reset(需要提前打开客户端gannche或者geth)
migrate的意思是迁移,这里可以理解为部署的意思。
3.6 truffle console 进入控制台,然后输入下列语句测试一下效果:
如果没有错误的话,最后ganache里的第一个账户会少1以太币,第二个账户会多1以太币