企业开发要效率,效率一般依赖遵循工程思想与各种技术产生的框架与工具,Truffle就是区块链中开发的一个利器,优势体现在:
1. 非常方便的智能合约编码、编译与测试;
2. 提供了智能合约的ABI与二进制接口封装;
3. 一套访问智能合约更加方便的API;
下载两个例子
下载metacoin例子
- 命令:
truffle unbox metacoin
-
多执行几次
metacoin项目例子
-
下载Webpack例子
- 命令:
truffle unbox webpack
- 等具备一些常识,我们再来看上面两个例子。
Truffle的使用
- Truffle可以方便我们编译智能合约、部署、测试智能合约。
- 可以与Web App集成在一起,能更加方便的开发基于智能合约的Web App = DApp
创建项目
- 命令
truffle init
- 注意:
- 执行命令的目录确保是空的,这样防止被覆盖。
启动geth
- 这里我们启动了两个节点
节点一
GETH节点-1节点二
GETH节点-2使用VSCode项目
- 使用VSCode打开创建的Truffle项目
- 实际这个时候谈不上是项目,仅仅是一个工作环境而已
配置truffle与geth的连接
- 在truffle-config.js文件中配置
账号到geth查询
GETH查询查询gasLimits
- 在创世文件查询
- gas值不能太高也不能太低
网络配置选项
- gas 推荐设置 –gasprice 4000000000 –targetgaslimit 4712388
编译智能合约
- 命令:
truffle compile
部署智能合约
- 命令:
truffle migrate
- gas的大小决定部署的快慢。
测试智能合约
- 命令:
truffle test
附录:
- 其实使用GETH作为开发环境太麻烦,其实还有更好的方式,后面再专门讲解。
- 如果network-id过小,在Truffle测试的时候也会存在问题。请在创世文件修改私有以太坊的网络id。
- 个人赶脚:以太坊所谓去中心化,都是骗小朋友的。所谓去中心化在于人心,不在于技术。
网友评论