Skip to content

Latest commit

 

History

History
189 lines (121 loc) · 7.11 KB

File metadata and controls

189 lines (121 loc) · 7.11 KB

FnzeroSafe UI 钱包用户指南

English | 项目 README

FnzeroSafe UI 是由 fnzero-safe Rust 核心库驱动的本地钱包界面,支持加密 Keystore 钱包、资产和交易记录、SOL 与 Token 转账、WSOL、Pump.fun/PumpSwap 卖出、Nonce 账户、程序部署和 Squads v4 多签。

使用前须知

  • 只在可信设备上使用 UI。
  • 存入资产前,先备份每个钱包的加密 keystore.json
  • Keystore 和密码应分开保存,密码无法找回。
  • 初次学习某项交易操作时,先使用 Devnet。
  • 签名前确认网络、RPC、收款地址、Mint、数量和费用。

默认配置只使用已保存的 Keystore 钱包。除非开发者显式启用本机调试选项,否则明文私钥输入和明文私钥导出均处于关闭状态。

启动 UI

在仓库根目录执行:

make dev

打开以下任一地址:

  • 中文:http://127.0.0.1:3840/zh/
  • English:http://127.0.0.1:3840/en/

make dev 会先停止旧的本地开发进程,再启动桌面应用、3840 端口的 Next.js 界面和 3841 端口的本地 Rust API。

创建钱包

  1. 打开 钱包,选择 创建新钱包;也可从 设置 > 钱包工具 进入。
  2. 输入便于识别的钱包名称。
  3. 设置 10-20 个字符的密码。
  4. 选择 创建 Keystore 文件
  5. 记录页面显示的公钥,并下载生成的 Keystore。
  6. 向钱包转入资产前,将 Keystore 和密码分别保存到安全位置。

创建后钱包会保存到本地。UI 保存的是加密 Keystore,不会保存钱包密码。

导入钱包

  1. 选择 导入钱包
  2. 选择 Keystore JSON 文件,或粘贴完整的 Keystore JSON。
  3. 输入该 Keystore 对应的加密密码。
  4. 可选择一个本地显示名称。
  5. 选择 导入 Keystore

导入时会验证密码,并在本地保存加密钱包。导入不会转移资产,也不会产生链上交易。

钱包主页

通过顶部钱包选择器切换当前钱包。后续新操作默认使用当前钱包。

钱包主页提供:

  • SOL 余额,以及 SPL Token / Token-2022 余额。
  • 刷新资产:通过当前 RPC 重新加载余额和 Token 元数据。
  • 交易记录:每次加载 20 条,界面最多显示最近 100 条。
  • 接收:查看或复制钱包地址。
  • 发送:发送 SOL 或 Token。
  • 交易:进入 Pump.fun 和 PumpSwap 卖出流程。

如果资产未显示,先检查当前网络和 RPC,再刷新资产。

管理已保存钱包

打开 设置 > 钱包账户,可以:

  • 修改钱包显示名称,不会改变公钥。
  • 输入钱包密码后导出加密 keystore.json
  • 确认已有备份后,删除本地钱包记录。

删除钱包不会删除 Solana 链上账户,也不会转移其中资产,只会移除本地加密记录。之后可使用备份的 Keystore 和正确密码重新导入。

明文私钥导出默认关闭。建议始终使用加密 Keystore 作为备份格式。

网络与 RPC

设置 > Solana RPC 中选择 Mainnet、Devnet、Testnet 或自定义 RPC。

  • Mainnet 操作使用真实资产并支付真实费用。
  • Devnet 和 Testnet 使用对应测试资产。
  • 自定义 RPC URL 必须使用 httphttps
  • 已创建的多签和程序记录会保留其创建时的网络。

进行转账、交易、部署或多签操作前,应再次确认当前网络。

发送 SOL

  1. 选择当前钱包,打开 发送 > SOL
  2. 确认网络。
  3. 输入收款地址和 SOL 数量。
  4. 按提示输入当前钱包的 Keystore 密码。
  5. 查看执行结果,并在需要时保存交易签名。

钱包中需要保留足够的 SOL 支付交易费。Solana 交易确认后不可撤销。

发送 Token

  1. 打开 发送 > Token,或从资产列表选择某个 Token。
  2. 输入收款地址和 Token Mint 地址。
  3. 等待 UI 通过 RPC 获取 Mint 精度。
  4. 输入正常显示单位的 Token 数量,并确认网络。
  5. 输入钱包密码后提交。

必须核对 Mint 地址,不能只看 Token 名称或符号,因为不同 Token 可以使用相同名称。

WSOL 操作

打开 交易工具 > WSOL,可以:

  • 创建钱包的 WSOL 关联 Token 账户。
  • 将 SOL 包装为 WSOL。
  • 将 WSOL 解包为 SOL。
  • 关闭余额为空的 WSOL 账户。

每次操作后应检查余额。关闭账户不能替代解包操作,应先处理其中的 WSOL 余额。

Pump.fun 与 PumpSwap 卖出

  1. 从 Token 选择 交易,或进入 Pump 交易工作区。
  2. 确认 Token Mint 和当前钱包余额。
  3. 输入卖出数量,或使用余额比例快捷选项。
  4. 检查滑点和当前网络。
  5. 输入钱包密码并提交卖出。

已迁移的 Pump.fun Token 可能自动通过 PumpSwap 卖出。价格波动、滑点、优先费和 RPC 状态都会影响最终结果,建议先用小额测试。

Nonce 账户

在 Nonce 工作区可为当前钱包创建一个或多个持久化 Nonce 账户。UI 会显示创建的 Nonce 地址和交易签名,并按钱包和网络保存在本地。

创建 Nonce 账户需要租金和交易费。外部离线签名流程需要单独备份,本地 Nonce 列表不能替代 Keystore 备份。

程序与 Squads 多签

高级工作区支持:

  • 查询和部署 Solana 程序。
  • 创建 Squads v4 多签。
  • 创建 SOL 和 Token 转账提案。
  • 准备程序升级 Buffer 和升级提案。
  • 批准、拒绝和执行提案。
  • 通过多签修改程序或 Buffer 权限。

这些操作可能永久影响程序或金库资产。签名前必须确认 Program ID、多签地址、Vault、成员、阈值、提案序号、网络和升级权限,并先在测试环境演练。

本地数据与安全

默认钱包数据库位于:

apps/desktop/data/fnzero-safe.sqlite3

数据库包含加密钱包记录和本地元数据,并已被 Git 忽略。前端不会持久化钱包密码。本地 UI 或 Tauri 安全桥与 Rust API 之间的敏感请求体会加密传输。

需要牢记的安全边界:

  • 数据库不能替代导出的 Keystore 备份。
  • 任何同时获得 Keystore 和密码的人都能访问钱包。
  • 任何获得明文私钥的人都能支配钱包内全部资产。
  • 不要提交 apps/desktop/data/、Keystore、密码、环境文件或导出的私钥。
  • API 默认只监听 127.0.0.1,不要将其暴露到不可信网络。

常见问题

页面能打开,但钱包操作失败

使用 make dev 启动完整服务,并访问 http://127.0.0.1:3841/api/health 检查 API。

钱包或资产没有显示

确认当前钱包、网络和 RPC,然后选择 刷新资产。如果本地数据库被移动或删除,请重新导入备份的 Keystore。

密码不正确

必须使用加密该 Keystore 时设置的密码。密码区分大小写,应用无法帮助找回。

交易失败

检查网络、RPC 状态、钱包余额、手续费余额、收款地址或 Mint,以及滑点设置。重复提交可能产生另一笔交易,因此重试前先检查第一次提交的签名状态。

3840 或 3841 端口被占用

再次运行 make dev。它会在启动前停止旧的本地开发进程。