市面上叫「钱包」的东西,大多是轻客户端:一个漂亮的界面,向某家公司的服务器问一句余额是多少,然后照单全收。TensorCash 桌面钱包不一样。它就是 bitcoin-qt——一个装了图形界面的全节点——所以替你保管私钥的这个程序,同时也在同步链、跑 P2P 网络,并且亲自重新校验区块、签名、脚本,以及模型注册表本身。你的余额、资产和交易都是本地算出来的,不是从某个你不得不信任的后端取回来的。
有一个地方确实是例外,就是 AI 那部分。要检查一个区块的 AI 证明,得重新跑一遍模型前向传播,这需要 GPU,所以节点会把这一项检查交给验证者——而由谁来跑,你自己定:钱包旁边你自己的验证者,你信得过的验证服务,或者第三方提供商。这只是一个配置项,见下文把验证接上。
不管选哪种,整套协议最终都在钱包里露面:发行资产、注册 AI 模型、搭建合约,都是同一个应用里的标签页,各自背后是它内部跑着的那个节点。
怎么拿到它:下载、安装,或者自己编译
下载官方二进制包(Linux、Windows)
发布版都放在项目自建的代码托管站上,直接从 git.tensorcash.org/tensorcash/tensorcash/releases 下载当前版本:有 Windows 安装包和免安装版,还有 Ubuntu 和 CentOS 的软件包,主网和测试网都提供。这些构建产物没有签名,所以第一次启动时系统会弹警告——运行之前,先拿发布页里的 SHA256SUMS 核对下载到的文件,另外,不要从任何其他地方下载 TensorCash 的二进制文件。
或者用 AskTilly 的签名版和 WebWallet
想要有签名的应用,或者你用的是 macOS?AskTilly 提供带签名的 macOS 和 Windows 钱包构建,以及一个在客户端本地签名的浏览器 WebWallet——私钥不出你的设备。它是一个独立的采用方,同时也为社区运行一个验证服务。它由第三方独立运营,并非本项目运营,所以老规矩:请自己做尽职调查。
用容器跑(任何装了 Docker 的平台)
公开的节点镜像里内置了同一个 bitcoin-qt,前面挡着一个 VNC 控制台——不给密码就不开:
docker run -d --name tensorcash-wallet \
-e GUI_MODE=true \
-e VNC_PASSWORD='pick-a-strong-one' \
-p 127.0.0.1:5907:5907 \
-v tensorcash-data:/data \
docker.io/tensorcash/core-node:latest
用任意 VNC 客户端连上 localhost:5907,你看到的就是钱包本体,跑在容器里你自己的全节点上。要保证这样做是安全的,记住三条:
- VNC 默认是关的。 没有
VNC_PASSWORD就没有 VNC——拿不到密码,镜像就拒绝启动它,而且里面也没有预置密码。自己挑一个足够强的。 127.0.0.1这个绑定别改。 如果这台机器是通过网络访问的,就用隧道进去——ssh -L 5907:localhost:5907 you@host——绝对不要把 5907 端口暴露到公网。tensorcash-data这个卷就是你的钱包。wallet.dat就住在里面;照你备份任何钱包的方式备份它,删容器的时候别把卷一起删了。
自己编译
更想自己编译?这就是一次标准的 CMake 构建,把 GUI 打开就行。唯一一个不太显眼的前置步骤:先生成 FlatBuffers 的头文件。
# 1. Generate the FlatBuffers headers the node expects, into src/rpc.
flatc --cpp -o <bcore>/src/rpc \
shared-utils/fb-schemas/proof.fbs \
shared-utils/fb-schemas/blockheader.fbs \
shared-utils/fb-schemas/validation.fbs
# 2. Configure with the GUI + wallet enabled (Qt 6.2+ required).
cmake -S <bcore> -B build \
-DBUILD_GUI=ON -DBUILD_CLI=ON -DENABLE_WALLET=ON \
-DWITH_ZMQ=ON -DWITH_QRENCODE=ON
# 3. Build the app and the CLI. (Job count: $(nproc) on Linux,
# $(sysctl -n hw.ncpu) on macOS — or just pick a number, e.g. -j8.)
cmake --build build --target bitcoin-qt bitcoin-cli -j8
通用的构建文档(doc/build-osx.md、doc/build-unix.md、doc/build-windows.md)分平台讲了工具链和依赖怎么装。
第一次启动
第一次启动时,应用会带你依次选好数据目录和网络,然后建钱包:
- 选网络——先从测试网开始。(主网是需要协调的,见节点怎么跑起来。)
- 创建钱包,并用口令加密。私钥是在本地生成的——永远不会离开这台机器。
- 到 Receive 标签页要一个地址,然后让节点同步。同步期间其他标签页都是活的,但在你有资金之前只能看不能动。
底下其实就是 createwallet / getnewaddress,图形界面只是在调它们。地址支持 Taproot,并且用各自网络的前缀(测试网地址以 bech32 前缀 tct 开头)。
把验证接上(必须来真的)
节点是带着 -validationapi=real 跑的:每个区块的 AI 证明都会拿到一个真实的验证结论——对一个存着钱的钱包来说,没有「跳过这项检查」这种模式。你能选的只是由谁来跑验证者:
-
自己跑一个(开源)。 验证者就在公开仓库里,通过 ZMQ 和节点配对——这是单机全套的搭法,需要 GPU。完整步骤见验证者怎么跑起来。
-
用验证服务——自己的,或者第三方的。 把节点指向任何一个通过 HTTPS 暴露出来的验证者:可以是你自己跑在别处 GPU 机器上的
verification-api,也可以是某个把验证做成服务的提供商:# env (or the -validatorhttpurl= flag; container: same envs) VALIDATOR_HTTP_URL=https://verifier.example.com # optional: VALIDATOR_API_KEY=… · several: VALIDATOR_HTTP_URLS / VALIDATOR_API_KEYS
不管你选哪种,委托出去的只有 AI 重放这一项。签名、脚本、资产、余额,以及链本身,在任何配置下都是你自己的节点在验证——验证者能对你撒谎的,只有你请它跑的那一项检查,而且就连那一项,也是一份任何人都能重新核对的可重放证明。
这个应用能做什么
除了收款付款,菜单栏里还挂着 TensorCash 的各个功能入口。每个标签页都是某个真实共识特性的前端——中间没有服务器。
| 标签页 | 用来做什么 |
|---|---|
| Assets | 发行和持有链上资产;用零知识转账电路把某个资产标记为需要 KYC;轮换发行密钥(ICU)。发行方模式和持有方模式都在同一个页面里。 |
| Trading | 在两方之间搭建自包含的合约——Repo、Forward、Spot,再加上 CFD 和 Option——并查看交易看板、定价拆解和风险视图。 |
| AI Models | 把模型注册进可挖矿的集合、对某个模型发起挑战、管理注册保证金,或者把它销毁。 |
| Mining APIs | 监控已连接的矿工和验证者,并配置节点对接哪个 validator。 |
给进阶用户的还有更多——跨链桥会话、治理,以及 ZK 证明工具(承诺证明、描述符导入导出)——各自以独立的对话框呈现。重点不是第一天就把这些全用上,而是协议的这些能力就住在你已经拿来托管私钥的那个钱包里,而不是藏在某个托管的控制台后面。
钱包认识资产(有一件事你得知道)
钱包把资产和 BTC 同等对待。每种资产都待在自己的输出里(一个 UTXO 只承载一种资产类型),而且默认情况下,你发普通 BTC 时,钱包不会去花资产 UTXO——所以一笔普通付款绝不会顺手把你的代币转走。这道保险就是 avoid_asset_utxos 这个设置(默认开启)。当你确实想花掉某个资产时,Assets 标签页(或者 sendasset)会明确地去做这件事;走 RPC 的话,用 fundrawtransaction … '{"avoid_asset_utxos": false}' 显式打开。完整的接口见 managing-wallets 和资产 RPC 参考。
接下来看什么
- 底下那个节点——修剪、同步,以及信任边界:节点怎么跑起来
- 自己动手验证——验证者怎么跑起来
- RPC 参考——/docs/rpc/ · /docs/core-node/api/
- 资产和合约到底是什么——博客上讲资产和远期合约的那两篇。
保管你私钥的那个应用,同时也是验证这条链的那个应用。这就是全部的用意。
本文由 Imosuke Takakuni 以化名撰写。