首页
/ Urbit Bridge 开发环境搭建与测试指南

Urbit Bridge 开发环境搭建与测试指南

2025-06-29 07:32:59作者:秋阔奎Evelyn

项目概述

Urbit Bridge 是一个用于管理 Urbit 身份(Points)的 Web 应用程序,提供了创建、转移和管理 Urbit 身份的功能。本文将为开发者详细介绍如何搭建 Urbit Bridge 的开发环境、常用开发技巧以及测试流程。

开发环境搭建

基础环境配置

  1. 安装依赖

    • 克隆项目仓库后,执行 npm install 安装所有依赖
    • 使用 npm run build 可生成优化后的静态构建文件
  2. Node.js 版本要求

    • 由于 handle-thing 依赖库在 Node 11.1.0 下存在兼容性问题
    • 推荐使用 Node 14.17.0 版本
    • 可通过 nvm 管理多版本 Node:
      nvm install 14.17.0
      nvm use v14.17.0
      

本地开发启动

执行 npm run pilot 命令将自动完成以下操作:

  • 启动本地 Ganache 区块链节点
  • 部署 Azimuth 智能合约
  • 启动本地 Web 服务器(默认端口 3000)

开发实用技巧

测试账户配置

开发环境中预配置了多个测试账户,每个账户初始拥有 100 ETH:

主账户(Ecliptic 所有者)

  • 地址:0x6DEfFb0caFDB11D175F123F6891AA64F01c24F7d
  • 助记词:benefit crew supreme gesture quantum web media hazard theory mercy wing kitten

派生账户

  • 使用相同助记词,但修改 HD 路径为 m/44'/60'/0'/0/1m/44'/60'/0'/0/2

开发状态初始化

可通过以下方式自定义初始开发状态:

  1. 环境变量配置

    • 修改 .env.development 文件
    • VITE_STUB_LOCAL='true' 可启用方法存根
  2. Bridge 组件配置

    • 修改 src/Bridge.js 中的初始状态设置
    • 可预设钱包、网络类型等参数
  3. 区块链初始状态

    • 通过 WITH_TEST_STATE 环境变量设置
    • 可选值:STAR_RELEASEINVITES
    • 状态配置位于 migrations/1_migration.js

HTTPS 开发配置

本地开发启用 HTTPS 的配置方法:

  1. Chrome 浏览器

    • 访问 chrome://flags/#allow-insecure-localhost 并启用
  2. Firefox 浏览器

    • 访问 about:config
    • 设置 network.websocket.allowInsecureFromHTTPStrue
  3. 运行环境

    • 设置 HTTPS=true 环境变量
    • npm run pilot 已自动处理此配置

功能测试指南

核心测试场景

  1. 助记词登录测试

    • 使用测试助记词登录
    • 验证能否正确显示 Points 列表视图
  2. Planet 创建测试

    • 创建新的 Planet 身份
    • 登出后重新登录验证持久性
  3. 邀请功能测试

    • 设置 INITIAL_NETWORK_TYPE 为 Goerli
    • 修改 tank.js 端口为 3011
    • 获取激活链接并测试激活流程

已知问题

在 Goerli 测试网上测试邀请接受和登录流程时,部分 Azimuth API 调用可能会失败(如 getConditional)。

高级开发配置

L2 本地环境搭建

要启用本地 L2 聚合器开发环境:

  1. 启动 Bridge 并预加载 L1/L2 Points:

    npm run pilot-l2
    
  2. 配置本地 Urbit 开发船:

    • 启动命令需包含特定参数
    • 在 Dojo 中执行一系列初始化命令
    • 手动提交和批处理 L2 交易

发布流程

生成发布包:

npm run release

将生成包含以下内容的 ZIP 文件:

  • 构建目录
  • README 文件
  • HTTPS Python 脚本
  • 构建目录的校验和文件

可使用 shasum -c checksums.txt 验证文件完整性。

总结

本文详细介绍了 Urbit Bridge 项目的开发环境配置、实用开发技巧和测试方法。通过合理利用测试账户和环境变量配置,开发者可以高效地进行功能开发和测试。对于涉及 L2 功能的开发,需要特别注意本地 Urbit 节点的配置。

登录后查看全文
热门项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
24
7
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
9
1
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
1.03 K
479
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
375
3.22 K
pytorchpytorch
Ascend Extension for PyTorch
Python
169
190
flutter_flutterflutter_flutter
暂无简介
Dart
615
140
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
62
19
cangjie_compilercangjie_compiler
仓颉编译器源码及 cjdb 调试工具。
C++
126
855
cangjie_testcangjie_test
仓颉编程语言测试用例。
Cangjie
36
852
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
647
258