/wallet
TensorCash Core.
一款基於 Qt 的 TensorCash 桌面錢包 — 源自 Bitcoin Core,支援原生資產,並內建 JSON-RPC 主控台。您可以從公開原始碼自行編譯(透過 Docker 或原生方式),也可以直接取用下方由贊助者發布的便利二進位檔。
功能導覽
外觀與 Bitcoin Core 一脈相承,新增 TensorCash 原生資產與發行的專屬頁籤。點選縮圖可檢視原始解析度圖片。
從原始碼編譯
正式產出物是位於 services/core-node/bcore/ 的原始碼樹。Qt 錢包與無頭守護程式共用同一個 CMake 目標,只需在設定階段加上 -DBUILD_GUI=ON 即可。有兩條路可走:一是使用 Dockerfile 一次編譯整個堆疊(最簡單、有沙箱隔離),二是在主機上安裝原生依賴套件(迭代更快,映像體積較小)。
路徑 1 · Docker(推薦)
本儲存庫附帶一個多階段 Dockerfile,可一次完成 cosign-bridge Rust 二進位檔、ChiaVDF Python wheel,以及完整 bcore 守護程式 + Qt 錢包的編譯。主機上只需安裝 Docker 即可。容器同時內含 Tor(用於隱藏服務網路)與 VNC 伺服器,讓您視需要在容器內執行圖形介面。
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 連接埠:
# 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 中。
Clone
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 pub/sub 主題)。執行 cmake -B build -LH 可查看完整清單。
編譯 cosign bridge
錢包中的 Cosign 功能(配對裝置簽章、聯合多簽)會透過本地 socket 與一個稱為 cosign-bridge 的 Rust 側車二進位檔通訊。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/ 目錄下。首次對 mainnet 同步需要數小時,並會寫入數 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 由錢包本體加上一組它所使用的側車服務構成。上方的 Docker 編譯會將所有服務一併打包;若走原生編譯,您可依需要啟用的功能,選擇在 Qt 二進位檔旁組裝相應服務。
| 服務 | 原始碼路徑 | 功能說明 | 需要此服務的情境 |
|---|---|---|---|
| cosign-bridge | services/core-node/cosign-bridge/ | 本地 Rust 側車,負責處理 cosign / 聯合簽章配對(WebSocket 上的 SPAKE2 + Noise)。為 Qt 錢包的配對裝置流程提供前端介接。 | Cosign 功能(多裝置簽章、聯合多簽) |
| ChiaVDF | shared-utils/chiavdf/ | 鏈驗證所使用的可驗證延遲函數。於守護程式編譯期間以 Python wheel 形式建置。 | 驗證任何區塊(mainnet、testnet 或 regtest) |
| core-node REST | services/core-node/src/ | 與 JSON-RPC 伺服器並列的小型 REST 介面,公開模型中繼資料與節點指標。 | 供應商整合用;錢包本身不需要 |
| verification-api | services/verification-api/ | OSS 驗證服務。錢包不直接呼叫它 — 當 -validationapi=real 時,由 bcore 呼叫。 | 生產環境下的真實(非模擬)區塊驗證 |
| 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 參考 — 錢包內建主控台支援本參考所列的所有方法。
- 參與其中 — 其他所有參與方式:機構、供應商、開發者、驗證者、研究人員。