欢迎光临
我们一直在努力

Origin Protocol 开发环境搭建全攻略:Docker Compose 一键启动区块链、IPFS 与全套后端服务

Origin Protocol 开发环境搭建全攻略:Docker Compose 一键启动区块链、IPFS 与全套后端服务

【免费下载链接】origin Monorepo for our developer tools and decentralized marketplace application 【免费下载链接】origin 项目地址: https://gitcode.com/gh_mirrors/origin1/origin

想要体验去中心化电商应用的魅力,却卡在了 Origin Protocol 开发环境搭建 这道门槛上?别担心,这篇教程为你准备了最省心的方案:利用 Docker Compose 一键启动 本地区块链、IPFS 节点以及十余个后端服务,无需手动配置数据库和依赖,十几分钟就能跑起一个功能完整的去中心化市场 DApp。无论你是刚接触区块链开发的新手,还是想快速验证想法的老手,这套开发环境搭建指南都能让你少走弯路。

一、认识 Origin Protocol:不只是去中心化市场

Origin Protocol 是一个开源的 去中心化市场应用(Decentralized Marketplace),目标是让买卖双方绕过平台抽成,直接在链上完成交易。它的代码库是一个典型的 monorepo(单体仓库),由 Lerna 统一管理,包含三大类模块:

  • DApp 包:@origin/marketplace(市场前端)、@origin/admin(管理后台)、@origin/graphql-simple-demo(教学示例)
  • 核心包:@origin/contracts(智能合约)、@origin/graphql(GraphQL 接口)、@origin/services(本地区块链与 IPFS 工具)
  • 基础设施包:@origin/bridge(身份认证服务)、@origin/discovery(搜索服务)、@origin/messaging(消息服务)等十余个后端服务

下面的架构图清晰展示了各组件之间的协作关系:DApp 通过 GraphQL 与各类服务器通信,事件监听器负责同步链上数据,而 IPFS 与以太坊区块链则构成底层去中心化基础设施。

Origin Protocol 开发环境系统架构图:展示区块链、IPFS、GraphQL 与后端服务的完整协作关系

二、两种开发方式,新手该选哪一种?

官方在 DEVELOPMENT.md 中提供了两条开发路径,选择取决于你的需求:

对比项轻量模式(Option 1)完整模式(Option 2)
启动内容 DApp + 本地 IPFS + 本地区块链 全部后端服务 + 区块链 + IPFS
命令复杂度 仅 3 条命令 Docker Compose 编排
适合人群 新手快速上手 需要搜索、消息、通知等完整功能
资源占用 较低 较高(约 10 个容器)

建议:第一次接触 Origin,先用轻量模式跑通页面;当你需要体验完整的去中心化电商功能(搜索、站内信、通知)时,再切换到 Docker Compose 完整开发环境。本文重点讲解后者。

三、环境准备:四件套检查清单

开始搭建前,请确认你的机器满足以下要求(参考 DEVELOPMENT.md 的 System Requirements):

  • Docker 18 或更高版本:docker –version 验证
  • Docker Compose:Mac/Windows 桌面版 Docker 已内置,Linux 需单独安装
  • Git:git –version 验证
  • Unix 系统(macOS 或 Linux):脚本依赖 bash,Windows 建议使用 WSL
  • 小提示:首次构建需要拉取镜像和安装依赖,请预留 10GB+ 磁盘空间 和充足的耐心。

    四、Docker Compose 一键启动:五步搭建完整开发环境

    第一步:克隆 Origin Protocol 仓库

    从 GitCode 镜像获取最新代码:

    git clone https://gitcode.com/gh_mirrors/origin1/origin
    cd origin

    默认在 master 分支,包含最新开发代码;如需模拟线上环境,可切换 stable 分支:git checkout –track origin/stable。

    第二步:清理旧的 Docker 环境(可选但推荐)

    如果之前跑过 Origin 的 Docker 环境,建议先清理,避免端口和卷冲突:

    docker system prune –volumes –all

    第三步:执行 docker-compose up,一键启动全部服务

    在仓库根目录直接运行:

    docker-compose up

    首次运行会基于 Dockerfile 构建镜像并执行 yarn install,耗时较长属正常现象。启动过程中,services 容器会自动完成智能合约部署(DEPLOY_CONTRACTS=true)、数据库迁移和 IPFS 数据填充,全程无需手动干预。

    第四步:启动市场 DApp 前端

    另开一个终端,在仓库根目录运行:

    yarn start

    这会启动一个带热更新的 webpack 开发服务器,浏览器自动打开 http://localhost:3000,你会看到预置的示例房源和商品列表。

    第五步:配置 MetaMask 钱包

    市场页面需要 Web3 钱包才能交易:

  • 安装 MetaMask 浏览器插件
  • 网络选择 Localhost 8545(连接本地 Ganache 区块链)
  • 点击"导入账户",使用 Ganache 默认助记词:candy maple cake sugar pudding cream honey rich smooth crumble sweet treat
  • 导入后账户应显示约 90 ETH 测试余额,足够尽情测试
  • 五、一键启动的服务全景:端口速查表

    docker-compose.yml 中定义了 13 个服务,以下是核心服务的端口对照,方便你随时访问:

    服务功能访问地址
    services Ganache 区块链 + IPFS http://localhost:8545
    services IPFS 守护进程 http://localhost:5002 / 8080
    ipfs-proxy IPFS 安全代理 http://localhost:9999
    discovery 搜索/发现服务 http://localhost:4000
    graphql GraphQL 服务器 http://localhost:4007
    bridge 身份认证服务 http://localhost:5000
    growth 增长引擎 http://localhost:4008
    messaging 消息服务 http://localhost:9012
    notifications 通知服务 http://localhost:3456
    auth-server 认证服务器 http://localhost:5200
    postgres / redis / elasticsearch 数据存储层 5432 / 6379 / 9200

    启动完成后,浏览器打开市场首页,即可看到类似下图的全功能去中心化市场界面,包含房源浏览、购买按钮、IPFS 数据查看等特性。

    Origin Protocol 去中心化市场 DApp 界面截图:展示房源列表与交易功能

    六、开发中的常用命令速查

    掌握这几个 Docker Compose 命令,日常开发事半功倍:

    • 停止全部服务(保留容器数据):docker-compose stop
    • 查看所有容器日志:docker-compose logs -f
    • 进入容器调试:docker exec -ti services /bin/bash
    • 重启单个容器:docker-compose restart discovery
    • 重新构建镜像(依赖变更后):docker-compose build –no-cache services

    ⚠️ 重要提醒:停止环境时不要使用 docker-compose down!它会删除容器卷,导致容器内安装的依赖全部丢失。请一律使用 docker-compose stop。

    七、高频问题排查手册

    开发过程中遇到报错很正常,这里汇总了最常出现的四个问题:

    1. Elasticsearch 启动失败:虚拟内存不足

    Linux 下需要调高 mmap 计数:

    sysctl -w vm.max_map_count=262144

    2. 容器退出码 137:内存溢出

    说明 Docker 可用内存不足,请在 Docker Desktop 设置中为引擎分配更多内存。

    3. IPFS 报 "Lock file is already being hold"

    清理本地 IPFS 缓存数据即可:删除 ~/.jsipfs/ 目录后重启。

    4. 页面长时间白屏转圈

    前端与服务通信超时,刷新浏览器通常即可解决;若仍无效,检查 8545、8080、3000 等关键端口是否被其他程序占用(尤其是先启动了 @origin/marketplace 或 @origin/admin 的情况)。

    八、进阶:按需调整服务配置

    所有服务的环境变量都集中在 docker-compose.yml 中,例如切换网络、配置通知服务等均可直接修改后重启对应容器。若想更深入地理解各模块,建议从这几个文件入手:

    • 服务编排与端口定义:docker-compose.yml
    • 镜像构建与依赖安装:Dockerfile
    • 官方开发文档:DEVELOPMENT.md
    • 服务入口与启动参数:packages/services/start.js
    • 市场 DApp 前端代码:dapps/marketplace/

    结语:从零到一,跑起你的去中心化市场

    借助 Docker Compose 一键启动 方案,Origin Protocol 开发环境搭建已经从过去的手工配置地狱,变成了十几分钟即可完成的轻松体验。你不需要关心 Postgres 建库、Redis 配置、合约部署这些琐事——一条命令,区块链、IPFS 和全套后端服务自动就绪。

    现在,打开 http://localhost:3000,浏览示例房源,用 MetaMask 发起第一笔测试交易,去感受去中心化电商的魅力吧!如果在搭建过程中遇到问题,欢迎查阅仓库中的 DEVELOPMENT.md 与 README.md 文档,那里有更完整的排障指引。

    【免费下载链接】origin Monorepo for our developer tools and decentralized marketplace application 【免费下载链接】origin 项目地址: https://gitcode.com/gh_mirrors/origin1/origin

    创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

    赞(0)
    未经允许不得转载:171主机测评 » Origin Protocol 开发环境搭建全攻略:Docker Compose 一键启动区块链、IPFS 与全套后端服务
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址