/wallet
TensorCash Core。
面向 TensorCash 链的 Qt 桌面钱包 — 源自 Bitcoin Core,支持原生资产并内嵌 JSON-RPC 控制台。可从公开源码自行构建(Docker 或原生均可),也可直接获取社区贡献者发布的预构建二进制包。
界面导览
外观与 Bitcoin Core 一脉相承,并新增了原生资产与发行专属标签页。点击任一图块可查看高分辨率图像。
从源码构建
标准产物是位于 services/core-node/bcore/ 的源码树。Qt 钱包与无头守护进程共用同一个 CMake 目标 — 在配置时传入 -DBUILD_GUI=ON 即可。两种路径:一是使用 Dockerfile 构建整个技术栈(最简单,沙箱隔离),二是在本机安装原生依赖(迭代更快,镜像体积更小)。
路径 1 · Docker(推荐)
仓库自带一个多阶段 Dockerfile,一次性完成 cosign-bridge Rust 二进制文件、ChiaVDF Python wheel,以及完整的 bcore 守护进程与 Qt 钱包的构建。主机只需安装 Docker 即可。容器内还集成了用于隐藏服务网络的 Tor,以及一个 VNC 服务器,方便在容器内运行 GUI。
Dockerfile: services/core-node/tor.Dockerfile
git clone --recurse-submodules https://github.com/tensorcash/tensorcash.git
cd tensorcash
docker build \
-f services/core-node/tor.Dockerfile \
-t tensorcash-core:dev \
. 构建完成后,运行容器并暴露钱包的 RPC 端口,以及(可选的)VNC GUI 访问端口:
# Headless daemon, RPC reachable on host:18332.
docker run --rm -p 18332:18332 \
-v $HOME/.tensorcash-data:/data \
tensorcash-core:dev
# With the Qt GUI exposed via VNC on host:5900 (default password in the
# container's vnc.sh — change before any non-localhost binding).
docker run --rm -p 5900:5900 -p 18332:18332 \
-v $HOME/.tensorcash-data:/data \
tensorcash-core:dev 路径 2 · 原生构建
若需在本机获得原生二进制文件而不依赖容器,请使用此路径。已在 macOS 13+(arm64 / x86_64)与 Ubuntu / Debian 上验证;Fedora 和 Arch 的说明见 bcore 子模块内的 doc/build-unix.md。
克隆仓库
git clone --recurse-submodules https://github.com/tensorcash/tensorcash.git
cd tensorcash/services/core-node/bcore 安装依赖 — macOS
先安装 Xcode Command Line Tools,再安装 Homebrew 包。
xcode-select --install # if not already installed
brew install \
cmake boost pkgconf libevent \
qt@6 qrencode \
zeromq \
capnp # optional, only if you want -DENABLE_IPC=ON 安装依赖 — Linux(Ubuntu / Debian)
思路相同,使用不同的包管理器。Fedora 和 Arch 的说明见仓库内上游 doc/build-unix.md。
sudo apt-get install -y \
build-essential cmake pkgconf python3 \
libevent-dev libboost-dev libsqlite3-dev libzmq3-dev \
qt6-base-dev qt6-tools-dev qt6-l10n-tools qt6-tools-dev-tools libgl-dev \
libqrencode-dev 安装依赖 — Windows(交叉编译)
Windows 原生构建走 MSVC(见 doc/build-windows-msvc.md)。大多数贡献者更倾向于从 Linux 主机(或 WSL)使用 Mingw-w64 工具链配合内置 depends 系统进行交叉编译。只有在需要 .exe 安装包目标时才用到 NSIS。
# On a Linux host (or WSL inside Windows):
sudo apt-get install -y g++-mingw-w64-x86-64-posix nsis
# Build the depends tree once.
gmake -C depends HOST=x86_64-w64-mingw32 -j$(nproc) 配置 + 编译
在 macOS / Linux 上,配置步骤是一次 CMake 调用。Windows 上需要传入由 depends 树生成的工具链文件。
# macOS / Linux
cmake -B build -DBUILD_GUI=ON
cmake --build build -j$(getconf _NPROCESSORS_ONLN 2>/dev/null || nproc)
# Windows (cross-compile from Linux/WSL)
cmake -B build --toolchain depends/x86_64-w64-mingw32/toolchain.cmake -DBUILD_GUI=ON
cmake --build build -j$(nproc)
cmake --build build --target deploy # produces the .exe installer via NSIS 常用配置标志:-DBUILD_GUI=ON(Qt 钱包)、-DENABLE_WALLET=OFF(仅链节点)、-DWITH_ZMQ=ON(ZMQ 发布/订阅主题)。运行 cmake -B build -LH 查看完整列表。
构建 cosign 桥接
钱包中的联签功能(配对设备签名、联邦多签)通过本地 socket 与一个名为 cosign-bridge 的 Rust sidecar 二进制通信。Docker 路径会自动构建;原生构建则需使用 cargo 自行编译:
# Rust 1.85+ required.
cd services/core-node/cosign-bridge
cargo build --release --bin cosign-bridge --bin cosign-local-relay
# Binaries land in target/release/. Run cosign-bridge alongside the wallet. 运行
Qt 钱包二进制文件位于 build/bin/。首次与主网同步需要数小时,并会写入数 GB 的链状态数据;如需快速冒烟测试,可将其指向 regtest 数据目录。
# Smoke test on a private chain — no real coins, no peers, no IBD.
build/bin/bitcoin-qt -regtest -datadir=$HOME/.tensorcash-regtest
# Production: starts initial block download against the live network.
build/bin/bitcoin-qt 配套服务
TensorCash Core 由钱包本体加上一组它所依赖的 sidecar 服务构成。Docker 构建会将所有服务一并打包;若选择原生构建,则需根据所需功能,在 Qt 二进制旁边自行组装相应服务。
| 服务 | 源码路径 | 用途 | 所需功能 |
|---|---|---|---|
| cosign-bridge | services/core-node/cosign-bridge/ | 本地 Rust sidecar,负责处理联签 / 联邦签名配对(通过 WebSocket 的 SPAKE2 + Noise)。为 Qt 钱包中的配对设备流程提供前端接口。 | 联签功能(多设备签名、联邦多签) |
| ChiaVDF | shared-utils/chiavdf/ | 链验证所使用的可验证延迟函数(VDF),在守护进程构建期间以 Python wheel 形式编译。 | 验证任意区块(主网、测试网或 regtest) |
| core-node REST | services/core-node/src/ | JSON-RPC 服务器旁的小型 REST 接口,暴露模型元数据与节点指标。 | 提供方集成;钱包本身无需此服务 |
| verification-api | services/verification-api/ | 开源验证服务。钱包不直接调用它 — 由 bcore 在 -validationapi=real 时调用。 | 生产环境中的真实(非模拟)区块验证 |
| miner-api | services/miner-api/ | 衔接链与推理引擎(llama.cpp / vLLM),生成成为区块一部分的推理证明。 | 挖矿(提供推理服务 + 产出区块) |
贡献者二进制包
从源码构建是标准路径。为方便起见,社区贡献者会发布基于相同源码树的自行构建版本。项目方不生产、签署或分发任何二进制文件 — 以下列表均为独立的第三方发布,仅供参考。请将任何贡献者构建版本与您自己的源码构建版本进行核对,或在多个贡献者之间交叉比对。
| 贡献者 | 平台 | PGP 密钥 | 备注 |
|---|---|---|---|
| TensorCash | macOS (arm64, x86_64) · Linux (x86_64) · Windows (x86_64) | pending | 基于公开源码树构建。每次发布均附有 SHA-256 清单及与二进制文件配套的分离式 PGP 签名。 |
申请成为贡献者:从带标签的源码版本构建,发布构建产物的 SHA-256 清单及分离式 PGP 签名,并提交 Pull Request 在此表格中添加一行记录。
验证贡献者构建版本
两步核查:第一步将贡献者的声明与您下载的二进制文件关联;第二步将二进制文件与源码关联。
哈希 + 签名
每位贡献者均发布 SHA256SUMS 文件及分离式 SHA256SUMS.asc 签名。确认您下载的文件与清单匹配,并确认清单由贡献者已公开的 PGP 密钥签署。
# 1. Manifest matches the binary you have on disk.
shasum -a 256 -c SHA256SUMS --ignore-missing
# 2. Manifest is signed by the benefactor's key.
gpg --verify SHA256SUMS.asc SHA256SUMS 交叉比对
单个贡献者的签名只能证明其为该二进制背书,并不能证明二进制与源码一致。弥合这一差距的两种方法:自行从源码构建并比较哈希,或与另一贡献者针对同一发布标签的清单进行比对。当两个或更多独立构建者为同一产物发布了相同的 SHA-256 值,便可证明该构建可从公开源码复现。
下一步
- regtest 指南 — 含模拟验证、模型注册与资产发行演练的本地开发沙箱。
- JSON-RPC 参考 — 钱包内嵌控制台支持本参考中的所有方法。
- 参与其中 — 其他所有参与方式:机构、提供方、开发者、验证者、研究者。