网上关于 Aleth 的内容太少了,导致我一个月一来走了各种各样的坑,把我坑麻了。在这里分享我走的坑。
1. 编译 aleth
这是我最头疼的问题,因为aleth需要非常多的外部依赖来完成编译,而很多依赖是需要在编译时当场下载的。如果你没有代理的话,就不要指望编译了。当然geth作为golang的产物也需要代理就是了……
而且不知道为什么我这里会出错,在windows下我没法编译,说找不到编译器。但是我自己写一个hello world来测试的话,又可以找到MSVC。
于是我就只能跑到WSL下面去搞,事情就麻烦得多了。
此外初次编译的速度也非常慢,因为aleth自带了很多工具,例如testeth,这些工具对我开发来说其实没什么用,编译它们实际上是累赘。
就算是编辑一小部分代码重新编译,此时确实可以跳过很多编译的东西,但是编译速度相比于geth来说还是太慢了点。
2. 使用 aleth
aleth的使用文档少得令人发指,他们的gitter聊天频道也是冷冷清清门可罗雀,指望从那里获取有用的信息基本不可能。
本地仓库的指引很少,英文网络能搜到的内容杂乱无章,中文这边有一个在csdn写博客的老哥写了寥寥几篇,也仅限可以测试而已。
尤其是他们的指引文章里面有一行命令,这行命令确实可以开启一个私链,但是因为它有 -m on 参数,所以同时也会启动挖矿。
结果CPU利用暴涨,我的小电脑卡顿得不行,根本没法测试任何东西。
好了,你终于发现问题所在,-m 关掉了。
你才发现它没有console,好歹geth还自带web3 js,可以自己调试一下。
当时我还没意识到可以自己弄一个web3py这样的东西,就只能求助于remix。
于是你又要去接触 HTTP RPC 的脚本,那个dopple.py已经不是按github指引的方式启动了,又得自己折腾。
哎呀,终于弄好这个转接口了,你惊讶地发现,web3py里面支持了geth后端没支持aleth后端,你想搞一个web3.geth.personal这种东西是不支持的。
甚至都不知道怎么开始挖矿。
我放弃了,回到了geth的怀抱……