/wallet
TensorCash Core.
TensorCash 체인을 위한 Qt 기반 데스크톱 월렛 — Bitcoin Core에서 파생되었으며 네이티브 자산 지원과 내장 JSON-RPC 콘솔을 갖추고 있습니다. 공개 소스 트리에서 직접 빌드하거나(Docker 또는 네이티브), 아래에서 베네팩터가 제공하는 편의 바이너리를 사용하세요.
둘러보기
Bitcoin Core와 같은 구조에, TensorCash 전용 네이티브 자산·발행 탭이 추가됩니다. 타일을 클릭하면 원본 해상도 이미지를 볼 수 있습니다.
소스에서 빌드
정식 아티팩트는 services/core-node/bcore/의 소스 트리입니다. Qt 월렛은 헤드리스 데몬과 동일한 CMake 타깃에서 빌드되며, 구성 시 -DBUILD_GUI=ON을 전달하면 됩니다. 선택지는 두 가지입니다. 전체 스택을 한 번에 빌드하는 Dockerfile(가장 쉽고 샌드박스 환경), 또는 호스트에 네이티브 의존성을 설치하는 방법(반복이 빠르고 이미지 크기가 작음).
경로 1 · Docker (권장)
저장소에는 cosign-bridge Rust 바이너리, ChiaVDF Python 휠, 그리고 전체 bcore 데몬 + Qt 월렛을 한 번에 빌드하는 멀티스테이지 Dockerfile이 포함되어 있습니다. 호스트에 Docker만 설치되어 있으면 됩니다. 컨테이너에는 히든 서비스 네트워킹을 위한 Tor와, 원할 경우 컨테이너 내부에서 GUI를 실행할 수 있는 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 포트와 (선택적으로) GUI 접근을 위한 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 참고). 대부분의 기여자가 선호하는 빠른 방법은 Mingw-w64 툴체인과 번들된 depends 시스템을 활용해 Linux 호스트(또는 WSL)에서 크로스 컴파일하는 것입니다. 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에서는 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 기능(페어링 기기 서명, 연합 멀티시그)은 로컬 소켓으로 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 datadir을 대신 사용하세요.
# 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 전용 RPC를 포함한 전체 로컬 개발 환경 설정은 regtest 가이드를 참고하세요.
동반 서비스
TensorCash Core는 월렛과, 그 월렛이 통신하는 몇 가지 사이드카 서비스로 이루어집니다. 위의 Docker 빌드에는 모두 포함되어 있고, 네이티브 빌드라면 원하는 기능에 맞춰 Qt 바이너리와 아래 항목을 조합하시면 됩니다.
| 서비스 | 소스 경로 | 역할 | 필요한 경우 |
|---|---|---|---|
| cosign-bridge | services/core-node/cosign-bridge/ | cosign / 연합 서명 페어링(SPAKE2 + WebSocket Noise)을 처리하는 로컬 Rust 사이드카. Qt 월렛의 페어링 기기 플로우를 앞단에서 처리합니다. | Cosign 기능 (멀티 기기 서명, 연합 멀티시그) |
| ChiaVDF | shared-utils/chiavdf/ | 체인 검증에 사용되는 Verifiable Delay Function. 데몬 빌드 과정에서 Python 휠로 빌드됩니다. | 블록 검증 시 (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) 사이의 브릿지. 블록의 일부가 되는 추론 증명을 생성합니다. | 마이닝 (추론 서빙 + 블록 생성) |
베네팩터 바이너리
소스 빌드가 정식 경로입니다. 편의를 위해 커뮤니티 베네팩터들이 동일한 소스 트리를 빌드해 배포합니다. 프로젝트는 바이너리를 직접 생성·서명·배포하지 않습니다 — 이는 독립 제3자 배포물이며, 정보 제공 목적으로만 여기에 나열됩니다. 베네팩터 빌드는 직접 소스 빌드와 비교하거나 복수의 베네팩터 간 상호 검증하세요.
| 베네팩터 | 플랫폼 | PGP 키 | 비고 |
|---|---|---|---|
| TensorCash | macOS (arm64, x86_64) · Linux (x86_64) · Windows (x86_64) | pending | 공개 소스 트리에서 빌드합니다. 각 릴리스에는 SHA-256 매니페스트와 분리된 PGP 서명이 바이너리와 함께 제공됩니다. |
베네팩터로 등록하려면: 태그된 소스 릴리스에서 빌드하고, 아티팩트의 SHA-256 매니페스트와 분리된 PGP 서명을 게시한 뒤, 이 테이블에 행을 추가하는 풀 리퀘스트를 열어 주세요.
베네팩터 빌드 검증
두 단계로 확인합니다. 먼저 베네팩터의 보증을 다운로드한 바이너리와 묶어 보고, 다음으로 그 바이너리를 소스 코드와 묶어 봅니다.
해시 + 서명
모든 베네팩터는 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 레퍼런스 — 월렛 내장 콘솔은 이 레퍼런스의 모든 메서드를 지원합니다.
- 참여하기 — 참여할 수 있는 다른 모든 길 — 기관, 제공자, 개발자, 검증자, 연구자.