终于弄出了自己的智能合约, 然而这并没有什么卵用. 我还得学会怎么把智能合约给部署到网络中.
于是带着期待的心情往后学, 视频讲到将智能合约部署到正式网络之前, 需要自己测试一下. 于是就得安装测试的框架 mocha, 测试的区块链网络 ganache 以及进入区块链网络的依赖 web3.JS
mocha 及 ganache 的安装都是敲一下命令行就可以过去了.
但是为啥 web3.JS 那么难弄呢
首先下载依赖到一小半之后就报错了, 报错的理由是找不到 Git 环境. 我擦, 这玩意竟然还依赖 Git, 为啥不能跟 apt-get 那样自己把相关包都给我下载好呢.
没办法, 屁颠屁颠的下载安装好 Git. 继续下载依赖时却在快完成的时候又报了错.
这回的错是没有 python 的环境.
好吧, 那我去安装 python. 可是为啥 python 明明就 20 多兆的东西, 下载要那么久呢. 平均 5kbb 每秒的速度, 真把我给气笑了:)
讲道理 python 没有被蔷啊, 可为啥我打开个 python 的官网都能卡很久.
....
过了很长一段的等待时间, 我终于安装好了 python3 .
但是坑爹的是又报错了!!!
- gyp ERR! configure error
- gyp ERR! stack Error: Command failed: D:\Python3\python.EXE -c import sys; print "%s.%s.%s" % sys.version_info[:3];
- gyp ERR! stack File "<string>", line 1
- gyp ERR! stack import sys; print "%s.%s.%s" % sys.version_info[:3];
- gyp ERR! stack ^
- gyp ERR! stack SyntaxError: invalid syntax
- gyp ERR! stack
- gyp ERR! stack at ChildProcess.exithandler (child_process.JS:294:12)
- gyp ERR! stack at ChildProcess.emit (events.JS:189:13)
- gyp ERR! stack at maybeClose (internal/child_process.JS:970:16)
- gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.JS:259:5)
看报错信息似乎是因为脚本代码的版本不对, 那么脚本代码肯定是不会错的, 显而易见的是我的 python 版本不对.
我真傻, 真的. 我原以为大家都应该会用 python3 的, 却没想到 web3.JS 的开发者们还是很喜欢用 python2 的.
算了, 再去花好长时间去下载 python2 吧.
接下来是 win10 系统装不了 python2
某某管家你做个人吧, 为什么还把 Windows Modules Installer 的服务给我禁用了. 害我花了两天时间找遍各大论坛, 苦寻解决方案无果的我都做好弃了 win10 投奔 Linux 的准备了.
我甚至都安装好了 workstation 和 manjaro 了!!!!
视频里说装 web3js 的时候可能会报错
果然, 我遇上报错了.
报错信息就不贴了, 反正是些看不懂的东西.
解决方案很简单, 装个 Visual Studio 就可以了.(至于另外一个说装啥啥 tools 的, 我试了, 还是报错. 奉劝各位直接装 Visual Studio 好了, 省的又浪费时间.)
社区版的就足够了, 反正本来也没打算用这个开发, 我装的 2017, 终于成功的安装上了 web3js
:)
来源: http://www.jianshu.com/p/b7cfce1e3537