pyeos的编译和eos类似,只是为了支持python,需要安装一些额外的库和工具,下面来介绍下具体过程。
1. 下载pyeos代码
2. checkout python代码
3. ubuntu下pyeos的编译
安装编译pyeos所需的工具cython以及库readline
3.1 编译python
这里要编译的python在目录libraries/python,是用来在调用eos api的。 首先切换到libraries/python目录,然后执行下面的命令:
请将make -j2中的2改成CPU的核心的数量,以加快编译速度
编译tinypy
这里的tinypy是精简版的python,在libraries/tinypy下,用于运行python智能合约,编译过程和编译libraries/python下的python一样,依次执行下面的命令:
3.2 编译pyeos
下面就可以开始编译pyeos了 转到主目录,执行下面的命令:
过程中要你输入密码,接下来就是等待了,如果没有error之类的提示,编译就成功了 如果代码有改动,不必再执行./build.sh ubuntu,只要cd到build目录执行下面的命令就可以了:
请将2改成CPU的核心的个数,以加快编译的速度。
4. mac OS X 平台下pyeos的编译
安装编译pyeos所需的工具cython
4.1 编译python
mac OS X下的编译和ubuntu下一致,这里不再复述,请参考
4.2 编译pyeos
转到主目录,执行下面的命令:
过程中要你输入密码,接下来就是等待了,如果没有error之类的提示,编译就成功了 如果代码有改动,不必再执行./build.sh darwin,只要cd到build目录执行下面的命令就可以了:
请将8改成CPU的核心的个数,以加快编译的速度。
5. 运行pyeos
先来了解几个运行参数:
-i 进入python的交互模式,在交互模式下可以输入任意的python代码.进入模式时行开头会有>>>提示符,表示等待命令输入。
--manual-gen-block 手动产生块,就是调用eosapi.produce_block()才会产生新块,这个参数在调试时非常有用。
--debug 进入调试模式,在这个模式下有许多针对调试的调整,如支持在智能合约代码里设置断点调试程序,如块产生不再有会产生超时异常,执行智能合约也不会有时间限制等等。
接下来看下如何执行命令:
执行下面的命令设置python环境变量,请将/dev/pyeos修改成正确的pyeos代码所在目录
cd 到build/programs,用下面的命令创建data-dir目录:
再在data-dir下创建config.ini,内容如下
几个要注意的参数如下:
genesis-json 指定的是创世块的配置文件
producer-name 用于指定producer账号,这些账号已经在genesis.ini中配置,如果是首次运行程序,程序会根据genesis.ini自动创建创世块
plugin 用于指定要加载的插件
接下来在build/programs目录执行下面的命令来启动应用程序
如果你看到类似下面的输出,那么程序就运行成功了
下篇来介绍下如何在python中调用钱包等api接口。
领取专属 10元无门槛券
私享最新 技术干货