这个项目能做什么
Unicity AgentSphere 是专为 Unicity 网络构建的 Web3 钱包和代理平台。它将加密货币钱包功能与消息传递、群聊和市场功能整合到一个统一应用中。
核心钱包功能包括快速、低成本的代币转账、代币管理和余额跟踪、收款通知以及用于用户识别的铭牌系统。钱包支持二维码、钱包切换、助记词管理和实时市场数据。
该平台实现了 Sphere Connect 协议,使外部 dApp 能够连接到钱包并请求操作。支持两种连接模式:iframe 模式,其中 dApp 嵌入在 Sphere 内部并通过 PostMessageTransport 通信;以及弹出窗口模式,其中 dApp 将 Sphere 作为弹出窗口打开以供用户批准。访问基于权限,dApp 请求特定范围,用户可批准或拒绝。该协议还支持意图处理,允许 dApp 在钱包界面内触发发送、签名和私信流程。
Sphere 支持自定义深度链接协议(unicity-connect://),用于私信中的应用间链接。当 dApp 在私信消息中发送深度链接 URL 时,Sphere 将其渲染为交互式按钮,提供在 Sphere 内作为 iframe 代理打开链接或在外部浏览器标签页中打开的选项。该协议解析为标准 HTTP/HTTPS URL,并对 localhost 地址进行特殊处理。
代理系统允许专用界面作为标签页加载到应用中。当前活跃的代理包括:用于通过 Nostr 进行私密对话的消息(私信)、用于通过 NIP-29 进行公共群组频道的群聊,以及用于通过 iframe 加载任何外部 dApp 并带有自定义 URL 的 Sphere 代理。可通过配置添加其他代理类型。
群聊功能基于 NIP-29 构建,这是 Nostr 协议规范,用于基于中继的群组消息传递。功能包括带邀请码的公共和私人群组、通过 WebSocket 的实时消息传递、群组发现、加入/离开操作以及未读消息跟踪。专用中继可在 wss://sphere-relay.unicity.network 获取。
该应用使用 React 19 和 TypeScript 构建,并使用 Vite 7 作为构建工具。它利用 TanStack Query v5 进行服务器状态管理,Tailwind CSS 4 进行样式设计,Framer Motion 用于动画,以及 React Router DOM v7 进行路由。所有钱包操作均通过 @unicitylabs/sphere-sdk 包处理,涵盖 L3、Nostr 和 IPFS 功能。测试使用 Vitest 和 jsdom 完成。
项目可通过 npm run dev 以开发模式运行,通过 npm run build 构建生产版本,并通过 Docker Compose 在端口 3010 上部署。环境变量控制配置,如欢迎代理铭牌、欢迎延迟、SSL 证书和部署基础路径。
该项目由 Unicity Labs 作为私人项目授权。
评论
0 评分人数达到10人后显示
登录后参与讨论。