/wallet
TensorCash Core.
ארנק שולחן עבודה מבוסס Qt לשרשרת TensorCash — צאצא של Bitcoin Core, עם תמיכה בנכסים מקוריים וקונסול JSON-RPC מובנה. בנו אותו בעצמכם מהקוד הציבורי (עם Docker, או באופן מקורי), או הורידו בינארי נוחות שפרסם benefactor מהקהילה.
סיור
אותו מבנה כמו ב-Bitcoin Core, עם לשוניות ייעודיות ל-TensorCash לנכסים מקוריים ולהנפקה. לחצו על כרטיס לתמונה ברזולוציה מלאה.
בנייה מהקוד המקור
הארטיפקט הקאנוני הוא עץ הקוד ב-services/core-node/bcore/. ארנק ה-Qt נבנה מאותו target של CMake כמו ה-daemon ה-headless — העבירו -DBUILD_GUI=ON בשלב קביעת התצורה. שתי אפשרויות: Dockerfile שבונה את כל ה-stack (הכי קל, מבודד), או תלויות מקוריות על המארח (איטרציה מהירה יותר, טביעת רגל קטנה יותר).
נתיב 1 · Docker (מומלץ)
המאגר מגיע עם Dockerfile מרובה-שלבים שבונה את הבינארי של cosign-bridge ב-Rust, גלגל ה-Python של ChiaVDF, ואת ה-daemon המלא של bcore וארנק ה-Qt בצעד אחד. כל מה שצריך הוא Docker מותקן על המארח. הקונטיינר כולל גם Tor לרשתות שירות חבוי ושרת VNC כדי שתוכלו להריץ את ה-GUI בתוך הקונטיינר אם תרצו.
Dockerfile: services/core-node/tor.Dockerfile
git clone --recurse-submodules https://git.tensorcash.org/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 של ה-submodule של bcore.
שכפול
git clone --recurse-submodules https://git.tensorcash.org/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) עם toolchain של Mingw-w64 בתוספת מערכת ה-depends המצורפת. NSIS נדרש רק עבור target ה-installer מסוג .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 העבירו את קובץ ה-toolchain שנוצר על ידי עץ ה-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
תכונות Cosign בארנק (חתימה בין מכשירים, multisig פדרטיבי) מתקשרות עם בינארי Rust צדדי בשם cosign-bridge דרך socket מקומי. נתיב 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 ראו את מדריך ה-regtest להגדרת פיתוח מקומי מלאה — כולל אימות מדומה וה-RPC הייחודיים ל-TensorCash.
שירותים נלווים
TensorCash Core הוא הארנק בתוספת קבוצה קטנה של שירותים צדדיים שמתקשרים איתו. בנייה ב-Docker מכלילה את כולם; בבנייה מקורית, אלו הרכיבים שתרכיבו לצד הבינארי של Qt — בהתאם לתכונות שמעניינות אתכם.
| שירות | נתיב מקור | מה הוא עושה | נדרש עבור |
|---|---|---|---|
| cosign-bridge | services/core-node/cosign-bridge/ | sidecar מקומי ב-Rust שמטפל בזיווג Cosign / חתימה פדרטיבית (SPAKE2 + Noise דרך WebSocket). משמש כחזית לזרימות בין מכשירים שיוצאות מארנק ה-Qt. | תכונות Cosign (חתימה רב-מכשירית, multisig פדרטיבי) |
| ChiaVDF | shared-utils/chiavdf/ | פונקציית עיכוב ברת-אימות המשמשת לאימות שרשרת. נבנית כ-wheel של Python במהלך בניית ה-daemon. | אימות כל בלוק (mainnet, testnet או regtest) |
| core-node REST | services/core-node/src/ | ממשק REST קטן לצד שרת ה-JSON-RPC. חושף מטא-נתוני מודל + מדדי צומת. | אינטגרציות ספקים; הארנק עצמו לא זקוק לו |
| verification-api | services/verification-api/ | שירות אימות בקוד פתוח. הארנק לא קורא לו ישירות — bcore עושה זאת, כש--validationapi=real. | אימות בלוקים אמיתי (לא מדומה) בסביבת ייצור |
| miner-api | services/miner-api/ | גשר בין השרשרת למנוע ההסקה (llama.cpp / vLLM). מייצר את הוכחת ההסקה שהופכת לחלק מבלוק. | כרייה (הגשת הסקה + יצירת בלוקים) |
בינאריים של benefactors
בנייה מהקוד המקור היא הנתיב הקאנוני. לנוחות, benefactors מהקהילה מפרסמים בנייות שלהם מאותו עץ קוד. הפרויקט לא מייצר, חותם או מפיץ בינאריים — אלו פרסומים עצמאיים של צדדים שלישיים, רשומים כאן לעיון בלבד. אמתו כל בנייה של benefactor מול בנייה שלכם מהמקור, או הצליבו בין benefactors.
Convenience binaries are published by community benefactors and listed in the network directory. Those listings are unverified and not endorsed by the project — always verify a build's PGP signature against the public source (below) before you run it.
כדי להופיע כ-benefactor: בנו מגרסה מסומנת של הקוד, פרסמו manifest של SHA-256 לארטיפקטים שלכם בצירוף חתימת PGP נפרדת, ופתחו pull request שמוסיף שורה לטבלה הזו.
אימות בנייה של benefactor
שתי בדיקות. הראשונה קושרת את הטענה של ה-benefactor לבינארי שהורדתם; השנייה קושרת את הבינארי לקוד המקור.
Hash + חתימה
כל benefactor מפרסם קובץ SHA256SUMS וחתימה נפרדת SHA256SUMS.asc. ודאו שהקובץ שהורדתם תואם ל-manifest, ושה-manifest חתום עם מפתח ה-PGP המפורסם של ה-benefactor.
# 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 הצלבה
חתימה של benefactor בודד מוכיחה רק שהוא ערב לבינארי — לא שהבינארי תואם לקוד המקור. שתי דרכים לסגור את הפער: בנו מהמקור בעצמכם והשוו hash, או השוו מול manifest של benefactor שני לאותו tag של גרסה. כששני בנאים עצמאיים או יותר מפרסמים SHA-256 זהים לאותו ארטיפקט, יש לכם עדות שהבנייה ניתנת לשחזור מקוד ציבורי.
מה הלאה
- מדריך regtest — sandbox לפיתוח מקומי עם אימות מדומה, וסיורים לרישום מודלים ולהנפקת נכסים.
- תיעוד JSON-RPC — הקונסול המובנה בארנק תומך בכל מתודה בתיעוד הזה.
- להשתתף — כל שאר הדרכים להשתתף: מוסדות, ספקים, מפתחים, מאמתים, חוקרים.