
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
数据服务提供者的REST API
Provider是Ocean Protocol技术栈的一部分,提供数据服务的REST API。该组件功能完整,当前为BETA版本。其核心作用是作为数据服务的中间层,管理数据访问流程,确保数据交易的安全性和合规性。
Provider适用于以下场景:
快速启动
使用rinkeby网络和远程元数据存储实例([***]
bashgit clone git@github.com:oceanprotocol/provider.git cd provider/ python3 -m venv venv source venv/bin/activate pip install -r requirements_dev.txt cp .env.example .env flask run --port=8030
详细步骤
1. 克隆仓库
bashgit clone git@github.com:oceanprotocol/provider.git cd provider/
2. 虚拟环境(可选)
建议在本地运行前设置虚拟环境:
bashvirtualenv venv -p python3.8 # 或:python -m venv venv source venv/bin/activate
3. 安装依赖
安装所有必要依赖:
bashpip install -r requirements_dev.txt
4. 依赖项
元数据存储(Aquarius):选择以下任一方式:
https://aquarius.marketplace.dev-ocean.com。此时需在 config.ini 文件中用相应URL替换 aquarius.url 选项。***网络:选择以下任一方式:
确保Ocean合约(https://github.com/oceanprotocol/contracts%EF%BC%89%E5%B7%B2%E9%83%A8%E7%BD%B2%E5%88%B0%E6%89%80%E9%80%89%E7%BD%91%E7%BB%9C%E3%80%82%E5%9C%A8 config.ini 文件中用正确的网络URL更新 network 选项(目前必须是URL,未来将支持简单网络名称如mainnet)。
5. 启动Provider服务器
在 .env 文件中添加相应环境变量,示例如下:
FLASK_APP=ocean_provider/run.py PROVIDER_ADDRESS=你的以太坊地址 PROVIDER_PRIVATE_KEY=私钥或包含chain_id到私钥对的字典字符串 PROVIDER_FEE_TOKEN=用于收取费用的ERC20代币地址或包含chain_id到代币地址对的字典字符串
你可能还需要设置 FLASK_ENV=development。然后运行:
bashflask run --port=8030
有关端点和负载的详细信息,请参考 API.md 文件。
环境变量
REQUEST_RETRIES:定义文件下载的重试次数(考虑网络故障和连接问题),默认为1(一次尝试,无重试)RBAC_SERVER_URL:定义RBAC权限服务器的URL,默认为None(无特殊权限)PRIVATE_PROVIDER:若设置,会在RBAC请求中添加"providerAccess": "private"键值对REDIS_CONNECTION:定义Redis连接URL,默认为None(无Redis连接时使用SQLite数据库)TEST_PRIVATE_KEY1 和 TEST_PRIVATE_KEY2:发布者和消费者测试用的***私钥OPERATOR_SERVICE_URL:定义与C2D的连接LOG_CFG 和 LOG_LEVEL:分别定义日志文件位置和日志级别IPFS_GATEWAY:定义用于解析URL的IPFS网关ARWEAVE_GATEWAY:定义用于解析Arweave交易ID的Arweave网关AUTHORIZED_DECRYPTERS:允许解密链数据的授权地址列表,用于限制访问(如自定义Aquarius实例),默认为空(允许所有解密者)USE_CHAIN_PROOF 或 USE_HTTP_PROOF:设置保存下载证明信息的机制。若USE_CHAIN_PROOF为真值,证明将发送到链上;USE_HTTP_PROOF需配置接受POST请求的HTTP端点MAX_CHECKSUM_LENGTH:定义需要校验和的文件最大长度,若文件大小超过此值,则不计算校验和若你是贡献者,请确保使用 pre-commit install 命令安装预提交钩子。这将确保提交前代码导入已排序且格式正确。我们使用 black、isort 和 flake8 保持代码整洁。
还可使用 licenseheaders -t .copyright.tmpl -x venv 命令为提交添加许可证头(将"venv"替换为本地虚拟环境路径)。此选项不作为预提交钩子,因为执行时间较长。
要发布Provider的新版本,请遵循 发布流程 中描述的步骤。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务