EOS上做Dapp是有前途的。
因为EOS交易速度够快,很多之前不能做的应用现在都能做了。
1 速度0.5秒延迟。
2 链上不可修改性。
3 社区推动。
Coder们花点时间放在这上面还是值得的。
所以这里抛砖引玉一下。
文章分两个部分。
1 eos节点搭建
2 开发环境搭建
本文是节点搭建
本文写的时候, 主网正在上线。所以一切基于本地节点。
环境搭建,会分步骤介绍。然后每步介绍结束后,会介绍遇到的问题。
1 . 环境配置
OS: Ubuntu 16.0.4 LTS (VM虚拟机)
IDE: VSCode
遇到问题:
1 选择桌面Ubuntu 便于开发调试。
2 选择VSCode 而不是 CLing, 主要是熟悉度。
2 建立本地节点
2.1 git clone https://github.com/EOSIO/eos --recursive
2.2 git submodule update --init --recursive
遇到问题:
1 命令行 clone. 一定几率会下载失败。可以使用smartgit等工具。
3 编译EOS
3.1 cd eos
bash ./eosio_build.sh
遇到问题
1 Ubuntu上调用 bash eosio_build.sh ,而不是 sh
2 偷懒使用 sudo bash eosio_build.sh 会出现奇怪错误。还是老实的一步输入一次密码。
3 网络问题会导致部分 依赖下载不了。 考虑直接下载后注释掉部分脚本。
比较容易失败是mongodb-linux-x86_64-3.6.3.tgz,mongo-c-driver-1.9.3.tar.gz
直接下载两个文件到对应目录。
ubuntu为例。 找到 eos/scripts/eosio-build-ubuntu.sh (下划线)
找到curl 下载以及后面判断是否下载成功的地方。 直接注释掉。
STATUS=$(curl -LO -w '%{http_code}' --connect-timeout 30 https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.3.tgz)
4 单元测试EOS
4.1 ~/opt/mongodb/bin/mongod -f ~/opt/mongodb/mongod.conf &
4.2 cd build
make test
遇到问题:
1 mogo配置不成功。 重新来过吧
2 test 比较慢,特别是最后几个等待吧。 如果失败。基本上是前面安装问题。
5 安装EOS
5.1 cd build
sudo make install
遇到问题:
无
6 启动节点
6.1 ./nodeos -e -p eosio --plugin eosio::chain_api_plugin --plugin eosio::history_api_plugin
遇到问题:
1 EOS版本上线前变更比较多,比如插件名称,从::account_history_api_plugin 到变更到 ::history_api_plugin。注意修改。
2 自己测试的节点,不可能总是开着,会关机。 所以二次启动需要加参数。
--replay-blockchain.
3 默认设置里30分钟不生产区块,节点就不能生产了。需要加参数延长时间,数值自定义。我设了24小时,单位秒
max-irreversible-block-age = 864000
4 一般需要打开日志。所以启动需要加参数
--control-console = true
7 启动节点
1 上面的参数,每次都敲字比较麻烦。写到配置文件里吧。
copy 默认的 config.ini 到自定义的config目录 。
从 ~/.local/share/eosio/nodeos/config (linux)找到config.ini。
拷贝到自定义的config 目录下。
2 把上面的修改,都写到config.ini 里
需要添加的插件 也放里面
3 写个脚本启动。
nodeos -e -p eosio --config-dir your-config-dir --contracts-console --replay-blockchain