/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://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 של ה-submodule של bcore.
שכפול
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) עם 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.
| Benefactor | פלטפורמות | מפתח PGP | הערות |
|---|---|---|---|
| TensorCash | macOS (arm64, x86_64) · Linux (x86_64) · Windows (x86_64) | pending | בנייה מעץ הקוד הציבורי. כל גרסה מגיעה עם manifest של SHA-256 וחתימת PGP נפרדת לצד הבינאריים. |
כדי להופיע כ-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 — הקונסול המובנה בארנק תומך בכל מתודה בתיעוד הזה.
- להשתתף — כל שאר הדרכים להשתתף: מוסדות, ספקים, מפתחים, מאמתים, חוקרים.