
Red Team Coin لعمليات تعدين العملات الرقمية.
RedTeamCoin هو تنفيذ لتجمّع تعدين عملات رقمية قائم على تقنية البلوكتشين، مصمم لاختبارات الأمان المصرح بها وعمليات الفريق الأحمر. مبني بلغة Go مع دعم عملاء Java، يحاكي هجمات التعدين الخفي في العالم الحقيقي لمساعدة المؤسسات على تقييم قدراتها في الكشف وتقدير الأضرار المحتملة الناتجة عن عمليات تعدين الجهات الخبيثة.
تمكّن هذه الأداة فرق الأمان من إظهار سيناريوهات هجمات التعدين الخفي بشكل آمن وقانوني على الأنظمة المؤسسية، وإنتاج تقارير تأثير شاملة، والتحقق من ضوابط الأمان—كل ذلك ضمن بيئة خاضعة للسيطرة باستخدام بلوكتشين معزول وغير عام.
لماذا استخدام RedTeamCoin؟
مكونات النظام:
شغّل RedTeamCoin في أقل من 5 دقائق:
أوبونتو/ديبيان:```bash sudo apt update sudo apt install -y golang-go protobuf-compiler
**macOS:**```bash
brew install go protobuf
Windows:
git clone https://github.com/xyplex3/RedTeamCoin.git cd RedTeamCoin
make install-tools make deps
make build
### التحقق
تحقق من اكتمال البناء بنجاح:```bash
ls -lh bin/
# Expected output: server and client binaries (1-5 MB each)
./bin/server --help
# Expected output: Usage information for the server
1. ابدأ الخادم:```bash make run-server
يجب أن ترى مخرجات مثل:```text
RedTeamCoin Mining Pool Server
Authentication Token: abc123def456...
Dashboard URL: http://localhost:8080?token=abc123def456...
gRPC server listening on port 50051
2. ابدأ عامل تعدين (في طرفية جديدة):```bash make run-client
يجب أن ترى نشاط التعدين:```text
Connected to mining pool at localhost:50051
Registered as miner: miner-hostname-1234567890
Mining block #1... Hash rate: 2.5 MH/s
Block found! Nonce: 98765, Hash: 000000ab1cd...
3. عرض لوحة المعلومات:
افتح عنوان URL من الخطوة 1 في متصفحك، أو انتقل إلى:```text http://localhost:8080?token=YOUR_AUTH_TOKEN_HERE
سترى إحصائيات في الوقت الفعلي تشمل المعدّنين النشطين، ومعدلات التجزئة، والكتل المستخرجة.
**ملاحظة:** يستمع الخادم على جميع واجهات الشبكة - استبدل `localhost`
بعنوان IP الخاص بالخادم للوصول عن بُعد.
## كيف يعمل
يعمل مجمع التعدين باستخدام آلية إجماع إثبات العمل:
1. يقوم الخادم بتهيئة سلسلة الكتل باستخدام كتلة التكوين
2. يتصل المعدّنون عبر gRPC ويسجلون مع IP/اسم المضيف
3. يوزع الخادم مهام العمل (قوالب الكتل)
4. يحسب المعدّنون تجزئات SHA-256 للعثور على nonces صالحة
5. يقدم المعدّنون الحلول عند تحقيق هدف الصعوبة
6. يتحقق الخادم من الكتل ويضيفها إلى سلسلة الكتل
7. تعرض لوحة المعلومات إحصائيات الوقت الفعلي ونشاط المعدّنين
تتطلب كل كتلة إيجاد تجزئة بعدد محدد من الأصفار البادئة
(صعوبة قابلة للتكوين). يحصل المعدّنون على 50 RTC عن كل كتلة مستخرجة.
### تدفق البيانات```text
Client Miner Server
| |
|--RegisterMiner(IP,Hostname)->|
|<--RegistrationResponse-------|
|--GetWork()------------------>|
|<--WorkResponse(Block)--------|
| [Mining: compute hashes] |
|--SubmitWork(nonce,hash)----->|
| | [Validate proof-of-work
| | and add block to chain]
|<--SubmissionResponse---------|
|--Heartbeat(stats)----------->|
|<--HeartbeatResponse----------|
HTTP (الافتراضي):```bash ./bin/server
- خادم gRPC: المنفذ **50051**
- لوحة التحكم على الويب: **http://localhost:8080**
**HTTPS/TLS (موصى به):**```bash
# Generate certificates (one time)
./generate_certs.sh
# Start with TLS
RTC_SERVER_TLS_ENABLED=true ./bin/server
ملاحظة رقم 1: مع HTTPS، ستعرض المتصفحات تحذيرًا أمنيًا للشهادات الموقّعة ذاتيًا. انقر على "خيارات متقدمة" ← "المتابعة إلى localhost".
ملاحظة رقم 2: ستعمل لوحة تحكم الويب وخادم gRPC على جميع واجهات الخادم ويمكن استخدامها بدلاً من localhost.
الاستخدام الأساسي:```bash ./bin/client
**شغّل عدة معدّنين:**
افتح محطات طرفية إضافية وشغّل `./bin/client` في كل منها.
#### معدّنو Java
توفر RedTeamCoin تطبيقين لمعدّني Java:
##### عميل Java gRPC (بدون واجهة رسومية)
عميل gRPC جاهز للإنتاج للخوادم والأتمتة.
**المتطلبات الأساسية:**
- Java 11 أو أحدث
- Maven (للبناء فقط)
**البناء باستخدام Makefile:**```bash
make build-java-client
أو قم بالبناء يدويًا:```bash cd java-client mvn clean package
**التشغيل:**```bash
# Connect to localhost
java -jar bin/redteamcoin-miner-client.jar
# Connect to remote server
java -jar bin/redteamcoin-miner-client.jar -server 192.168.1.100:50051
الميزات:
جهاز تعدين سطح المكتب بواجهة رسومية.
المتطلبات الأساسية:
البناء باستخدام Makefile:```bash make build-java-standalone
**أو ابنِ يدويًا:**```bash
cd java-standalone
mvn clean package
تشغيل:```bash
java -jar bin/redteamcoin-miner-standalone.jar
java -jar bin/redteamcoin-miner-standalone.jar --pool localhost:50051
**الميزات:**
- واجهة رسومية لسطح المكتب
- عرض إحصائيات مرئية
- بروتوكول JSON/Socket بسيط
- مدمجة في التطبيقات
##### بناء جميع عمال تعدين Java```bash
make build-java-all
فوائد Java Miners:
انظر java-client/README.md للوثائق الكاملة لعميل Java gRPC.
افتراضيًا، يتصل العملاء بـ localhost:50051. للاتصال بخادم بعيد:
استخدام خيار سطر الأوامر (موصى به):```bash ./bin/client -server 192.168.1.100:50051 ./bin/client -s mining-pool.example.com:50051
**باستخدام متغير البيئة:**```bash
export RTC_CLIENT_SERVER_ADDRESS=192.168.1.100:50051
./bin/client
الأولوية: علامة سطر الأوامر > متغير البيئة > الافتراضي (localhost:50051)
يدعم RedTeamCoin التعدين المتسارع عبر GPU لوحدات معالجة الرسوميات NVIDIA (CUDA) وAMD/Intel (OpenCL). التعدين عبر GPU أسرع بمقدار 100-400 مرة وأكثر كفاءة في استهلاك الطاقة بشكل ملحوظ من التعدين عبر CPU.
NVIDIA CUDA:```bash sudo apt install cuda-toolkit make build-cuda
**AMD/Intel OpenCL:**```bash
sudo apt install ocl-icd-opencl-dev
make build-opencl
الكشف التلقائي:```bash make build-gpu # Automatically detects and builds for available GPU
### استخدام GPU```bash
# Auto-detect GPU (default)
./bin/client
# Force CPU only
RTC_CLIENT_MINING_GPU_ENABLED=false ./bin/client
# Hybrid mode (CPU + GPU)
RTC_CLIENT_MINING_HYBRID_MODE=true ./bin/client
# GPU with remote server
./bin/client -server mining-pool.example.com:50051
ملاحظة: تعدين GPU أكثر كفاءة في استخدام الطاقة بمقدار 100-150 مرة من تعدين CPU.
./bin/client 2>&1 | grep -i "gpu|cuda|opencl"
RTC_CLIENT_MINING_GPU_ENABLED=false ./bin/client
RTC_CLIENT_MINING_GPU_ENABLED=true ./bin/client
RTC_CLIENT_MINING_HYBRID_MODE=true ./bin/client
انظر [docs/GPU_MINING.md](https://github.com/xyplex3/redteamcoin/blob/HEAD/docs/GPU_MINING.md) للحصول على الدليل الكامل لتعدين GPU.
## الإعدادات
يستخدم RedTeamCoin [Viper](https://github.com/spf13/viper) لإدارة مرنة للإعدادات.
يمكن تحديد الإعدادات عبر متغيرات البيئة، أو ملفات إعداد YAML، أو
خيارات سطر الأوامر بالأولوية التالية:
**خيارات سطر الأوامر** > **متغيرات البيئة** > **ملفات الإعداد** > **القيم الافتراضية**
### الإعداد
**تهيئة ملفات الإعداد:**```bash
# Initialize both server and client configs
make init-config
# Or initialize individually
make init-server-config # Creates server-config.yaml
make init-client-config # Creates client-config.yaml
يقوم هذا بنسخ ملفات YAML النموذجية إلى دليل العمل الخاص بك لتحريرها. يمكنك أيضًا وضع ملفات الإعداد في ~/.rtc/ أو /etc/rtc/.
التجاوز عبر متغيرات البيئة:```bash
export RTC_SERVER_MINING_DIFFICULTY=8 export RTC_CLIENT_SERVER_ADDRESS=pool.example.com:50051 ./bin/server
### متغيرات البيئة
تستخدم جميع متغيرات البيئة بادئات: `RTC_SERVER_` للخادم، و `RTC_CLIENT_` للعميل.
**إعدادات الخادم:**
| المتغير | الوصف | الافتراضي |
| --------------------------------------- | ----------------------------- | ------------------ |
| `RTC_SERVER_NETWORK_GRPC_PORT` | منفذ خادم gRPC | `50051` |
| `RTC_SERVER_NETWORK_API_PORT` | منفذ HTTPS API | `8443` |
| `RTC_SERVER_NETWORK_HTTP_PORT` | منفذ واجهة الويب HTTP | `8080` |
| `RTC_SERVER_MINING_DIFFICULTY` | صعوبة التعدين (1-64) | `6` |
| `RTC_SERVER_MINING_BLOCK_REWARD` | مكافأة الكتلة بالعملات | `50` |
| `RTC_SERVER_TLS_ENABLED` | تفعيل HTTPS/TLS | `false` |
| `RTC_SERVER_TLS_CERT_FILE` | مسار شهادة TLS | `certs/server.crt` |
| `RTC_SERVER_TLS_KEY_FILE` | مسار المفتاح الخاص TLS | `certs/server.key` |
| `RTC_SERVER_API_READ_TIMEOUT` | مهلة قراءة API | `15s` |
| `RTC_SERVER_API_WRITE_TIMEOUT` | مهلة كتابة API | `15s` |
| `RTC_SERVER_API_IDLE_TIMEOUT` | مهلة خمول API | `60s` |
| `RTC_SERVER_LOGGING_UPDATE_INTERVAL` | فترة تحديث الإحصائيات | `30s` |
| `RTC_SERVER_LOGGING_FILE_PATH` | مسار ملف السجل | `pool_log.json` |
| `RTC_AUTH_TOKEN` *(قديم)* | رمز مصادقة مخصص | مولّد تلقائيًا |
**إعدادات العميل:**
| المتغير | الوصف | الافتراضي |
| ------------------------------------------------- | ----------------------------------- | ----------------- |
| `RTC_CLIENT_SERVER_ADDRESS` | عنوان خادم المجمع (host:port) | `localhost:50051` |
| `RTC_CLIENT_SERVER_TLS_ENABLED` | تفعيل TLS لاتصال gRPC | `false` |
| `RTC_CLIENT_SERVER_TLS_INSECURE_SKIP_VERIFY` | تخطي التحقق من الشهادة | `true` |
| `RTC_CLIENT_SERVER_TLS_CA_CERT_FILE` | مسار ملف شهادة CA | `""` |
| `RTC_CLIENT_MINING_GPU_ENABLED` | تفعيل تعدين GPU | `true` |
| `RTC_CLIENT_MINING_HYBRID_MODE` | تفعيل التعدين المتزامن CPU+GPU | `false` |
| `RTC_CLIENT_MINING_AUTO_DELETE` | الحذف التلقائي عند الإيقاف | `true` |
| `RTC_CLIENT_GPU_NONCE_RANGE` | نطاق nonce لكل دفعة GPU | `500000000` |
| `RTC_CLIENT_GPU_CPU_START_NONCE` | nonce بداية CPU (لتجنب التداخل مع GPU) | `5000000000` |
| `RTC_CLIENT_NETWORK_HEARTBEAT_INTERVAL` | فترة تحديث الحالة | `30s` |
| `RTC_CLIENT_NETWORK_RETRY_INTERVAL` | تأخير إعادة محاولة الاتصال | `10s` |
| `RTC_CLIENT_NETWORK_MAX_RETRY_TIME` | أقصى مدة لإعادة المحاولة | `5m` |
| `RTC_CLIENT_BEHAVIOR_WORKER_UPDATE_INTERVAL` | فترة تقرير تقدم العامل | `100000` |
| `POOL_SERVER` *(قديم)* | عنوان الخادم البعيد | `localhost:50051` |
| `GPU_MINING` *(قديم)* | تفعيل/تعطيل تعدين GPU | اكتشاف تلقائي |
| `HYBRID_MINING` *(قديم)* | تفعيل التعدين CPU+GPU | `false` |
### أمثلة على ملفات الإعداد
**إعداد الخادم** (`server-config.yaml`):```yaml
network:
grpc_port: 50051
api_port: 8443
http_port: 8080
mining:
difficulty: 8
block_reward: 100
tls:
enabled: true
cert_file: /etc/rtc/certs/server.crt
key_file: /etc/rtc/certs/server.key
logging:
update_interval: 30s
file_path: /var/log/rtc/pool.json
إعدادات العميل (client-config.yaml):```yaml
server:
address: pool.example.com:50051
tls:
enabled: false
insecure_skip_verify: true
ca_cert_file: ""
mining:
gpu_enabled: true
hybrid_mode: false
auto_delete: true
gpu:
nonce_range: 1000000000
cpu_start_nonce: 5000000000
network:
heartbeat_interval: 30s
retry_interval: 10s
max_retry_time: 5m
### المصادقة
تتطلب جميع نقاط نهاية API (باستثناء الصفحة الرئيسية للوحة المعلومات) مصادقة عبر رمز Bearer.
**الرمز المولَّد تلقائيًا:**
يُنشئ الخادم رمزًا آمنًا عند بدء التشغيل ويعرضه في وحدة التحكم.
**رمز مخصص:**```bash
export RTC_AUTH_TOKEN="your-secret-token"
./bin/server
تختلف أوقات التعدين المتوقعة حسب أداء وحدة المعالجة المركزية والحظ:
./generate_certs.sh
export RTC_SERVER_TLS_ENABLED=true export RTC_AUTH_TOKEN="my-secure-token" ./bin/server
export RTC_SERVER_TLS_CERT_FILE="/path/to/cert.pem" export RTC_SERVER_TLS_KEY_FILE="/path/to/key.pem" ./bin/server
راجع [docs/TLS_SETUP.md](https://github.com/xyplex3/redteamcoin/blob/HEAD/docs/TLS_SETUP.md) للحصول على تفاصيل إعداد TLS.
## مرجع API
### نقاط نهاية REST API
**نقاط نهاية عامة:**
- `GET /` - لوحة تحكم ويب (HTML)
- `GET /blocks` - صفحة عرض جميع الكتل (HTML)
**نقاط نهاية موثّقة:**
- `GET /api/stats` - إحصائيات التجمع (JSON)
- `GET /api/miners` - قائمة بجميع المُعدِّنين (JSON)
- `GET /api/blockchain` - سلسلة الكتل الكاملة (JSON)
- `GET /api/blocks/{index}` - تفاصيل كتلة محددة (JSON)
- `GET /api/validate` - التحقق من سلامة سلسلة الكتل (JSON)
- `GET /api/cpu` - إحصائيات استخدام CPU وGPU (JSON)
- `POST /api/miner/pause` - إيقاف التعدين مؤقتًا لمُعدِّن معين
- `POST /api/miner/resume` - استئناف التعدين لمُعدِّن معين
- `POST /api/miner/delete` - حذف مُعدِّن (يقوم تلقائيًا بإنهاء العملية وحذف نفسه)
- `POST /api/miner/throttle` - تعيين نسبة خنق CPU (0-100%)
### أمثلة على المصادقة
**cURL:**```bash
# Get stats
curl -H "Authorization: Bearer YOUR_TOKEN" http://localhost:8080/api/stats
# Get miners
curl -H "Authorization: Bearer YOUR_TOKEN" http://localhost:8080/api/miners
# Pause a miner
curl -X POST -H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"miner_id":"miner-hostname-1234567890"}' \
http://localhost:8080/api/miner/pause
# Set CPU throttle to 50%
curl -X POST -H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"miner_id":"miner-hostname-1234567890","throttle_percent":50}' \
http://localhost:8080/api/miner/throttle
# HTTPS (with self-signed cert)
curl -k -H "Authorization: Bearer YOUR_TOKEN" https://localhost:8443/api/stats
JavaScript:```javascript
const token = "YOUR_TOKEN_HERE";
const headers = { Authorization: Bearer ${token} };
fetch("http://localhost:8080/api/stats", { headers }) .then((r) => r.json()) .then((data) => console.log(data));
**Python:**```python
import requests
headers = {'Authorization': 'Bearer YOUR_TOKEN'}
response = requests.get('http://localhost:8080/api/stats', headers=headers)
print(response.json())
service MiningPool { rpc RegisterMiner(MinerInfo) returns (RegistrationResponse); rpc GetWork(WorkRequest) returns (WorkResponse); rpc SubmitWork(WorkSubmission) returns (SubmissionResponse); rpc Heartbeat(MinerStatus) returns (HeartbeatResponse); rpc StopMining(MinerInfo) returns (StopResponse); }
## البنية
### المكدس التقني
- **اللغة**: Go 1.21+
- **إطار عمل RPC**: gRPC مع Protocol Buffers
- **خادم الويب**: مكتبة Go القياسية net/http
- **التبعيات**: google.golang.org/protobuf, google.golang.org/grpc
## التطوير
### أوامر البناء```bash
make proto # Generate protobuf code
make build # Build server and client (CPU only)
make build-gpu # Build with GPU support (auto-detect)
make build-cuda # Build with NVIDIA CUDA
make build-opencl # Build with AMD/Intel OpenCL
make build-windows # Cross-compile for Windows
make build-all-platforms # Cross-compile for all platforms
make clean # Remove build artifacts
make deps # Download dependencies
make init # Full initialization
يتضمن RedTeamCoin اختبارات وحدة شاملة لمكونات كل من الخادم والعميل.
تشغيل جميع الاختبارات:```bash make test # Run all tests (server + client)
**تشغيل مجموعات اختبار محددة:**```bash
# Server tests
cd server && go test -v
# Client tests
cd client && go test -v -short
# With coverage
cd server && go test -cover
cd client && go test -cover
تغطية الاختبارات:
الخادم: 76 اختبارًا، تغطية 66.3%
blockchain_test.go: 15 اختبارًا - التحقق من سلسلة الكتل، حساب التجزئة،
الوصول المتزامنpool_test.go: 26 اختبارًا - إدارة المعدّنين، توزيع العمل، الإحصائياتgrpc_server_test.go: 17 اختبارًا - نقاط نهاية gRPC، التحكم بالمعدّنين، نبضات القلبapi_test.go: 18 اختبارًا - REST API، المصادقة، عمليات المعدّنينالعميل: 41 اختبارًا، تغطية 16.2%
main_test.go: 24 اختبارًا - منطق التعدين، حساب التجزئة، إدارة الحالةgpu_test.go: 18 اختبارًا - اكتشاف GPU، إدارة الأجهزة، الإحصائياتالإجمالي: 117 اختبار وحدة تغطي الوظائف الأساسية
ما تم اختباره:
اختبارات CI/CD:
تُشغَّل جميع الاختبارات تلقائيًا على:
انظر .github/workflows/build-verification.yaml لإعدادات CI.
Windows (CPU فقط):```bash make build-windows
ينشئ `bin/client.exe`
**Windows مع OpenCL (دعم GPU):**```bash
# Requires MinGW-w64 and Windows OpenCL SDK
make build-windows-opencl
ينشئ bin/client-windows-opencl.exe
راجع docs/WINDOWS_BUILD.md للحصول على تعليمات بناء ويندوز الكاملة، بما في ذلك:
منصات متعددة:```bash make build-all-platforms
ينشئ:
- `client-linux-amd64` - لينكس 64-بت
- `client-linux-arm64` - لينكس ARM64
- `client-windows-amd64.exe` - ويندوز 64-بت
- `client-darwin-amd64` - ماك Intel
- `client-darwin-arm64` - ماك Apple Silicon
**ملاحظة:** البينات الثنائية المُجمَّعة عبر الأنظمة (Cross-compiled) تعمل بوحدة المعالجة المركزية فقط (CGO معطّل) إلا عند استخدام `build-windows-opencl`.
### أدوات التحليل
إنشاء تقارير تقييم الأضرار لتحليل تأثير التعدين:```bash
make build-tools
./bin/generate_report -log pool_log.json
يتضمن التقرير:
افتراضات التكلفة:
تحويل التقارير:```bash
pandoc Report_Miner_Activity_from_to.md -o report.pdf
pandoc Report_Miner_Activity_from_to.md -o report.html
pandoc Report_Miner_Activity_from_to.md -o report.docx
**حالات الاستخدام:**
- تحليل ما بعد الحادث
- إحاطات تنفيذية
- المبررات المالية
- توثيق الامتثال
- مطالبات التأمين
- الأدلة القانونية
انظر [tools/README.md](https://github.com/xyplex3/redteamcoin/blob/HEAD/tools/README.md) للحصول على التوثيق الكامل.
## استكشاف الأخطاء وإصلاحها
### مشكلات الاتصال عن بُعد
**اختبار الاتصال:**```bash
# Test connection
ping <server_ip>
nc -zv <server_ip> 50051
# Check server (on server side)
lsof -i :50051
ss -an | grep 50051
المشاكل الشائعة:
أخطاء البناء:
make deps لتثبيت التبعياتmake install-tools لأدوات protocرفض الاتصال:
lsof -i :50051أخطاء المصادقة:
Authorization: Bearer TOKENنرحب بمساهماتكم! إليك كيفية البدء:
git checkout -b feature/amazing-featuremake testgit commit -m 'Add amazing feature'git push origin feature/amazing-featuregit clone https://github.com/YOUR_USERNAME/RedTeamCoin.git cd RedTeamCoin
make install-tools make deps
make test
make build make run-server # Terminal 1 make run-client # Terminal 2
### إرشادات الكود
- اتبع التنسيق القياسي للغة Go (`gofmt`)
- أضف اختبارات وحدة للوظائف الجديدة
- حدّث التوثيق للتغييرات التي تمس المستخدم
- تأكد من اجتياز جميع فحوصات CI قبل تقديم طلب السحب (PR)
## ملاحظة أمنية
هذا مشروع **توضيحي/تعليمي** للاختبارات الأمنية المصرح بها
وعمليات الفريق الأحمر. وهو مخصص لـ:
- مهام اختبار الاختراق المصرح بها
- التحقق من الضوابط الأمنية
- تقييم قدرات الكشف
- الأغراض التعليمية والتدريبية
هذه الأداة غير مخصصة للاستخدام في الإنتاج كعملة رقمية حقيقية،
وتفتقر إلى العديد من الميزات المطلوبة لنظام إنتاجي (التوقيعات التشفيرية،
المحافظ، التحقق من صحة المعاملات، إجماع الشبكة، وما إلى ذلك).
**استخدمها فقط بتفويض صريح على الأنظمة التي تملكها أو لديك إذن
باختبارها.**
## الترخيص
هذا المشروع مرخّص بموجب رخصة GNU العمومية العامة الإصدار 3.0 - راجع ملف
[LICENSE](https://github.com/xyplex3/redteamcoin/blob/HEAD/LICENSE) للتفاصيل.
## شكر وتقدير
**أُنشئ بواسطة:**
- Peter Greko ([@Xyplex02](https://github.com/Xyplex02))
- Luciano Krigun ([@klucho](https://github.com/klucho))
- Jayson Grace ([@l50](https://github.com/l50))
| الإعدادات | معدل الهاش | التسريع | الكفاءة (MH/W) |
|---|
| CPU (نواة واحدة) | ~2 MH/s | خط الأساس | ~0.02 |
| CPU (8 أنوية) | ~16 MH/s | 8x | ~0.02 |
| GPU (RTX 3080) | ~500 MH/s | 250x | ~2.0 |
| GPU (RTX 3090) | ~600 MH/s | 300x | ~2.5 |
| GPU (AMD MI250) | ~800 MH/s | 400x | ~3.0 |
| هجين (CPU+GPU) | ~620 MH/s | 310x | ~2.0 |
| المعلمة | الافتراضي | ملاحظات |
|---|
| طاقة المعالج | 150W | حمل كامل |
| طاقة معالج الرسومات | 250W | حمل كامل |
| الكهرباء | $0.12/kWh | اضبط حسب المنطقة |
| تقليل العمر الافتراضي | 20-40% | بسبب التعدين المستمر |
| المشكلة | الحل |
|---|
| "cannot find -lcuda" | export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH |
| "nvcc not found" | sudo apt install cuda-toolkit |
| "No OpenCL device" | sudo apt install ocl-icd-opencl-dev |
| GPU بطيء | export RTC_CLIENT_MINING_GPU_ENABLED=true |
| خطأ بناء CGo | sudo apt install build-essential |