Origin Protocol 开发环境搭建全攻略:Docker Compose 一键启动区块链、IPFS 与全套后端服务
2026/8/21 3:49:45 网站建设 项目流程

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

【免费下载链接】originMonorepo for our developer tools and decentralized marketplace application项目地址: 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 与以太坊区块链则构成底层去中心化基础设施。

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

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

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

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

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

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

  1. Docker18 或更高版本:docker --version验证
  2. Docker Compose:Mac/Windows 桌面版 Docker 已内置,Linux 需单独安装
  3. Gitgit --version验证
  4. 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 钱包才能交易:

  1. 安装 MetaMask 浏览器插件
  2. 网络选择Localhost 8545(连接本地 Ganache 区块链)
  3. 点击"导入账户",使用 Ganache 默认助记词:candy maple cake sugar pudding cream honey rich smooth crumble sweet treat
  4. 导入后账户应显示约 90 ETH 测试余额,足够尽情测试

五、一键启动的服务全景:端口速查表

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

服务功能访问地址
servicesGanache 区块链 + IPFShttp://localhost:8545
servicesIPFS 守护进程http://localhost:5002 / 8080
ipfs-proxyIPFS 安全代理http://localhost:9999
discovery搜索/发现服务http://localhost:4000
graphqlGraphQL 服务器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 数据查看等特性。

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

掌握这几个 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.mdREADME.md文档,那里有更完整的排障指引。

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

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询