海洋水瓶座。
ocean-aquarius的Python项目详细描述
水瓶座
? Aquarius provides an off-chain database store for metadata about data assets. It's part of the Ocean Protocol software stack.
注:水瓶座以前被称为提供者
“水瓶座是十二宫星座,位于摩羯座和双鱼座之间。它的名字是拉丁语的“水载体”或“杯载体”。水瓶座是黄道带上最古老的星座之一(太阳的明显路径)。“
有龙和乌贼这是在alpha状态,你可以预期会遇到问题。如果你碰到他们,请打开a new issue_
对于水瓶座操作员
如果你正在开发一个市场,你会希望在本地运行宝瓶座和其他几个组件,最简单的方法是使用驳船。请参阅the Barge repository中的说明。
对于水瓶座API用户
海洋协议文档站点有documentation about the Aquarius API。注意,它显示了当前与nile testnet一起部署的版本的文档。要获取其他版本的文档,页面顶部有一个“过去版本”链接。
如果你有水瓶座在本地运行,你可以在 http://localhost:5000/api/v1/docs或者 http://0.0.0.0:5000/api/v1/docs
提示1:如果这不起作用,那么尝试https
。
提示2:如果你的浏览器在顶部显示了一个夸张的标题,但是上面写着“未能加载规范”,那么我们发现,在chrome中,如果我们转到chrome://flags/#allow-insecure-localhost
并将其切换到enabled,然后重新启动chrome,它就工作了。
如果您想进一步了解元数据的本体,可以在 OEP-8。
对于水瓶座开发者
一般海洋开发文件
有关ocean的python代码样式和相关“元”开发人员文档的信息,请参见the oceanprotocol/dev-ocean repository。
本地运行,用于开发和测试
首先,克隆此存储库:
git clone git@github.com:oceanprotocol/aquarius.git
cd aquarius/
然后运行mongodb数据库,这是水瓶座的要求mongodb可以使用official documentation中的指令直接安装。或者如果安装了docker
,则可以运行:
docker run -d -p 27017:27017 mongo
注意,它运行MongoDB,但水瓶座也可以使用BigChainDB或ElasticSearch。如果要运行ElasticSearch或BigchainDB,请更新文件config.ini
,并使用首选方法运行数据库引擎
然后安装宝瓶座的操作系统级别要求:
sudo apt update sudo apt install python3-dev python3.7-dev libssl-dev
(注意:在编写本文时,python3-dev
是针对python 3.6的。python3.7-dev
如果您想在本地使用python 3.7进行测试,那么就需要{libssl-dev
。)
在安装aquarius的python包需求之前,您应该创建并激活一个virtualenv(或等效的)。
最简单的方法是:
pip install -r requirements.txt exportFLASK_APP=aquarius/run.py exportCONFIG_FILE=config.ini flask run
将使用http(即不是ssl/tls)。
运行flask应用程序的正确方法是使用应用服务器,如gunicorn。这允许您使用ssl/tls运行。 您可以通过执行以下操作生成一些用于测试的证书:
openssl req -x509 -newkey rsa:4096 -nodes -out cert.pem -keyout key.pem -days 365
当它要求公共名(cn)时,回答localhost
然后编辑配置文件config.ini
,以便:
aquarius.url = http://localhost:5000
然后执行此命令:
gunicorn --certfile cert.pem --keyfile key.pem -b 0.0.0.0:5000 -w 1 aquarius.run:app
配置
可以使用CONFIG_FILE环境变量(推荐)传递配置,也可以在CONFIG.ini文件中查找配置
在配置中,现在有两个部分:
- oceandb:包含要连接到oceandb的不同值。您可以找到有关如何使用oceandbhere的更多信息。
- 资源:在本节中,我们将展示宝瓶座将被部署到的url。
[resources]aquarius.url = http://localhost:5000
测试
通过travis设置自动测试,执行tox
。
我们的测试使用pytest框架。
新版本
bumpversion.sh
脚本帮助提升项目版本。可以使用{major|minor|patch}
作为第一个参数来执行脚本,从而相应地提高版本。
许可证
版权所有2018海洋协议基金会有限公司
有执照的在apache许可下,版本2.0(“许可”); 除非符合许可证,否则您不能使用此文件。 您可以在
http://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则软件 根据许可证分发是按“原样”分发的, 无任何明示或默示的保证或条件。 有关管理权限的特定语言和 许可下的限制。