/wallet
TensorCash Core.
Qt-гаманець для робочого столу на базі ланцюга TensorCash — нащадок Bitcoin Core із підтримкою нативних активів та вбудованою консоллю JSON-RPC. Зберіть самостійно з публічного вихідного дерева (через Docker або нативно) або завантажте готовий бінарник від прихильника-укладача нижче.
Огляд
Та сама форма, що у Bitcoin Core, плюс вкладки TensorCash для нативних активів і емісії. Натисніть на плитку, щоб відкрити у повній роздільності.
Зібрати з вихідного коду
Канонічний артефакт — вихідне дерево у services/core-node/bcore/. Qt-гаманець будується з того самого CMake-таргету, що й headless-демон — передайте -DBUILD_GUI=ON на етапі конфігурації. Два шляхи: Dockerfile, який збирає весь стек (найпростіше, в ізоляції), або нативні залежності на хості (швидша ітерація, менший розмір образу).
Шлях 1 · Docker (рекомендовано)
У репозиторії є багатоетапний Dockerfile, який збирає Rust-бінарник cosign-bridge, Python-wheel ChiaVDF і повний демон 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 задокументовані у doc/build-unix.md підмодуля bcore.
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 — у upstream 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. NSIS потрібний лише для таргету .exe-інсталятора.
# 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 передайте файл тулчейна, згенерований деревом залежностей.
# 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 у гаманці (підписання між пристроями, федеративний multisig) взаємодіють із supутнім Rust-бінарником cosign-bridge через локальний сокет. Шлях через 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 займає кілька годин і записує кілька ГБ chainstate; для швидкого перевірочного тесту вкажіть натомість datadir для 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 / федеративне підписання (SPAKE2 + Noise через WebSocket). Обслуговує потоки між пристроями з Qt-гаманця. | Функції Cosign (підписання з кількох пристроїв, федеративний multisig) |
| ChiaVDF | shared-utils/chiavdf/ | Verifiable Delay Function для валідації ланцюга. Будується як Python-wheel під час збірки демона. | Валідація будь-якого блоку (mainnet, testnet або regtest) |
| core-node REST | services/core-node/src/ | Невеликий REST-інтерфейс поряд із JSON-RPC-сервером. Надає метадані моделі та метрики вузла. | Інтеграції провайдерів; сам гаманець цього не потребує |
| verification-api | services/verification-api/ | OSS-сервіс верифікації. Гаманець не викликає його напряму — 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 — вбудована консоль гаманця підтримує кожен метод із цього довідника.
- Долучитися — всі інші способи участі: установи, провайдери, розробники, верифікатори, дослідники.