Mac eos 环境搭建
最近EOS官网出了文档,说可以跑通一个独立测试的节点了。这周尝试自行搭建了一下,由于自己不完全做mac下的开发,且这玩意是C写的,所以make
起来遇到不少坑,记录下来。附完整踩坑、填坑记录。
1. 搭建环境
在mac
下大家应该都用brew
来管理包吧。首先官方说要安装:
- Boost 1.64
- OpenSSL
- LLVM 4.0
通过下面命令,可以尽可能全的安装编译环境:
另外需要安装的下面这个,brew
并没有,需要手动安装:
- secp256k1-zkp (Cryptonomex branch)
步骤如下:
2. 编译LLVM和clang来支持智能合约运行的WASM环境
默认安装的LLVM和clang并不会包含WASM模块,所以需要自行编译,下面是实现仅仅编译LLVM只会生成WASM模块。
3. 获取EOS源码
递归取下来所有的EOS及其模块代码:
如果你没有带--recursive
标志,可以运行下面的命令来抓下来需要的模块(这个命令我没有试,使用时,要看是不是需要进到目录内):
4. 使用WASM编译器完整编译EOS源码
需要配置WASM_LLVM_CONFIG
环境变量来找到上面构建的WASM的编译器。这个编译器是用来编译eos/contracts
下的合约例子,和相应的测试用例的。
上面的
cmake ..
会遇到一些坑,可参考使用第7
节中完整填坑后的cmake
脚本。
5. 创建并运行一个测试网节点
进入到编译目录
运行上述命令后会立即报错,按Ctrl C强制中止后,命令运行目录下,会生成默认的./data-dir/
目录,目录下有./data-dir/config.ini
配置。可以略微看看默认的配置,再启动就好了(这里相当于没有配置,帮你生成了默认配置,所有人都一样,不安全):
如果要支持命令行,在config.ini
下,添加下述配置。参见 https://eosio.github.io/eos/group__eosc.html
这样,就可以通过EOS
自己的命令行工具eosc
来进行交互,如下:
输出效果:
6. 可能遇到的坑
6.1 可能遇到GMP包找不到的报错:
解决办法:
6.2 可能遇到ssl相关的错
但明明已经安装,原因是由于新版mac已经移除了openssl,所以我们需要手动配置环境变量,可以在cmake的命令行中通过-D
的方式传入OPENSSL_ROOT_DIR
和OPENSSL_LIBRARIES
两个环境变量:
6.3 最后的联接时失败Link failed
第一种,使用brew install llvm
后会遇到下面的报错:
解决办法,配置环境变量:
另一种可能,是手动安装llvm遇到下面的报错:
初步怀疑这种是因为在第2
节中,使用的是默认的llvm
编译了,但却后续又使用手动安装的llvm
进行后续操作导致的。故统一使用brew
管理的llvm
。
完整的解决过程,参考这里:https://github.com/EOSIO/eos/issues/99
7. 完整的cmake脚本供参考
感谢您的支持
Mac eos 环境搭建的更多相关文章
- EOS智能合约开发(一):EOS环境搭建和启动节点
EOS和以太坊很像,EOS很明确的说明它就是一个区块链的操作系统,BM在博客中也是说过的. 可以这样比喻,EOS就相当于内置激励系统的Windows/Linux/MacOS,这是它的一个定位. 包括以 ...
- Appium+python自动化16-appium1.6在mac上环境搭建启动ios模拟器上Safari浏览器
前言 在mac上搭建appium踩了不少坑,先是版本低了,启动后无限重启模拟器.后来全部升级最新版本,就稳稳的了. 环境准备: 1.OS版本号10.12 2.xcode版本号8.3.2 3.appiu ...
- appium1.6在mac上环境搭建启动ios模拟器上Safari浏览器 转自:上海-悠悠
前言 在mac上搭建appium踩了不少坑,先是版本低了,启动后无限重启模拟器.后来全部升级最新版本,就稳稳的了. 环境准备: 1.OS版本号10.12 2.xcode版本号8.3.2 3.appiu ...
- Mac Appium环境搭建
安装brew ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)" 安装java brew install ...
- MAC OpenGL 环境搭建
MAC OpenGL 环境搭建 基础库介绍 先要安装两个库一个是GLEW(OpenGL Extension Wrangler Library),另外一个是GLFW(Graphics Library F ...
- Mac 性能测试环境搭建——理论篇
此篇为博主原创内容,若转载请写明出处,谢谢! 前言在搭建之初,我们要思考的2个点:1.性能怎么测试?2.性能的测试环境如何搭建(该如何去做)?1.什么是性能? 个人理解为:合理的架构.低耦合.高 ...
- MAC自动化环境搭建
UI自动化环境搭建 第一阶段:配置appium环境硬件配置mac系统电脑 java环境sunjiedeMacBook-Air:~ vicent$ java -versionjava version & ...
- 1.OpenGL mac开发环境搭建记录
1.安装GLEW 和GLFW,转摘至:https://www.cnblogs.com/pretty-guy/p/11357793.html 2.开始测试,整个工程报错,关键信息如下: code sig ...
- React Native MAC上环境搭建笔记
今天花了一点时间搭建了一下react native环境,在这个过程中遇到了一些问题,处理并总结一下,年纪大了记性不好,只能多写写...真是岁月不饶人啊! 第一步:安装最新版本的Xcode工具 第二步: ...
随机推荐
- 序列化还是JSON存储对象?
2018-11-10 先对比一下存诸空间大小:https://pan.baidu.com/s/1I3K8ARfl4x8pC__B-T_vbA 输出的结果是 json: 序列化: 序列化Map: 用JS ...
- odoo8资料
官网: https://www.odoo.com/documentation/8.0/ 官方文档: http://odoo-master.readthedocs.io/en/8.0/howtos/we ...
- tp3
入口文件:index.php目录结构:核心,Thinkphp 公共资源,public jq 上传的图片等 应用目录,application 房模块 common:基于模块的公共目录,公共函数命名:类: ...
- 《Miracle_House》团队项目系统设计改进
一.团队项目系统设计改进: 1.分析项目系统设计说明书初稿的不足,特别是软件系统结构模型建模不完善内容: 对于原文档中,设计图中存在的错误以及文字描述不准确的地方进行了修改. 2. 团队项目Githu ...
- 迭代加深搜索 C++解题报告 :[SCOI2005]骑士精神
题目 此题根据题目可知是迭代加深搜索. 首先应该枚举空格的位置,让空格像一个马一样移动. 但迭代加深搜索之后时间复杂度还是非常的高,根本过不了题. 感觉也想不出什么减枝,于是便要用到了乐观估计函数(O ...
- JS中的同步和异步
javascript语言是一门“单线程”的语言,不像java语言,类继承Thread再来个thread.start就可以开辟一个线程,所以,javascript就像一条流水线,仅仅是一条流水线而已,要 ...
- JDK工具 javap
javap -c [ClassName] 编译为汇编语言
- MIUI 10以上版本通用线刷ROOT方法
1.高版本系统解锁 (解锁工具下载) http://www.miui.com/unlock/index.html 注意事项:登陆解锁工具的账号必须是登陆小米手机的账号 解锁步骤在解锁工具上有说明,就两 ...
- Qt打包发布exe
1.首先以 release 方式编译源代码,然后将生成的a. exe 程序放到一个单独的文件夹中. 2.再从开始菜单打开 Qt 命令行工具. 3.在命令行中,进入到第一步中a. exe 程序所在的文件 ...
- 怎么解决syntaxerror:non-utf-8 code starting with \xc4'in file
怎么解决syntaxerror:non-utf-8 code starting with \xc4'in file 首行增加,已测试可用. # coding=gbk 程序中出现中文,运行的时候 ...