
Red Team Coin क्रिप्टो-माइनिंग ऑपरेशन के लिए।
RedTeamCoin एक ब्लॉकचेन-आधारित क्रिप्टोकरेंसी माइनिंग पूल कार्यान्वयन है जिसे अधिकृत सुरक्षा परीक्षण और रेड टीम संचालन के लिए डिज़ाइन किया गया है। यह Go में निर्मित है और Java क्लाइंट समर्थन के साथ आता है, जो वास्तविक-विश्व क्रिप्टोमाइनिंग हमलों का अनुकरण करता है ताकि संगठन अपनी पहचान क्षमताओं का आकलन कर सकें और खतरे वाले अभिनेताओं के माइनिंग संचालन से संभावित क्षति को माप सकें।
यह उपकरण सुरक्षा टीमों को कॉर्पोरेट सिस्टम पर क्रिप्टोमाइनिंग हमले के परिदृश्यों को सुरक्षित और कानूनी रूप से प्रदर्शित करने, व्यापक प्रभाव रिपोर्ट उत्पन्न करने और सुरक्षा नियंत्रणों को मान्य करने में सक्षम बनाता है—यह सब एक पृथक, गैर-सार्वजनिक ब्लॉकचेन का उपयोग करके नियंत्रित वातावरण में किया जाता है।
RedTeamCoin क्यों उपयोग करें?
सिस्टम घटक:
RedTeamCoin को 5 मिनट से कम में चालू करें:
Ubuntu/Debian:```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. डैशबोर्ड देखें:
अपने ब्राउज़र में चरण 1 से URL खोलें, या इस पर नेविगेट करें:```text http://localhost:8080?token=YOUR_AUTH_TOKEN_HERE
आपको सक्रिय माइनर, हैश रेट और माइन किए गए ब्लॉकों सहित वास्तविक समय के आँकड़े दिखाई देंगे।
**नोट:** सर्वर सभी नेटवर्क इंटरफेस पर सुनता है - रिमोट एक्सेस के लिए `localhost`
को अपने सर्वर के IP से बदलें।
## यह कैसे काम करता है
माइनिंग पूल प्रूफ-ऑफ-वर्क सर्वसम्मति तंत्र का उपयोग करके संचालित होता है:
1. सर्वर जेनेसिस ब्लॉक के साथ ब्लॉकचेन को आरंभ करता है
2. माइनर gRPC के माध्यम से कनेक्ट होते हैं और IP/होस्टनाम के साथ पंजीकरण करते हैं
3. सर्वर कार्य असाइनमेंट (ब्लॉक टेम्पलेट) वितरित करता है
4. माइनर वैध नॉन्स खोजने के लिए SHA-256 हैश की गणना करते हैं
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 के साथ, ब्राउज़र स्व-हस्ताक्षरित प्रमाणपत्रों के लिए सुरक्षा चेतावनी दिखाएँगे। "Advanced" → "Proceed to 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
**Features:**
- डेस्कटॉप GUI इंटरफ़ेस
- विज़ुअल सांख्यिकी प्रदर्शन
- सरल JSON/Socket प्रोटोकॉल
- अनुप्रयोगों में एम्बेडेड
##### सभी Java Miners बनाएँ```bash
make build-java-all
जावा माइनर्स के लाभ:
पूर्ण Java gRPC क्लाइंट दस्तावेज़ीकरण के लिए java-client/README.md देखें।
डिफ़ॉल्ट रूप से, क्लाइंट 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 NVIDIA (CUDA) और AMD/Intel (OpenCL) GPUs के लिए GPU-त्वरित माइनिंग का समर्थन करता है। GPU माइनिंग CPU माइनिंग की तुलना में 100-400x तेज़ और काफी अधिक ऊर्जा-कुशल है।
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 खनन, CPU खनन की तुलना में 100-150 गुना अधिक ऊर्जा कुशल है।
./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
संपूर्ण GPU माइनिंग गाइड के लिए [docs/GPU_MINING.md](https://github.com/xyplex3/redteamcoin/blob/HEAD/docs/GPU_MINING.md) देखें।
## कॉन्फ़िगरेशन
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_` क्लाइंट के लिए।
**सर्वर कॉन्फ़िगरेशन:**
| Variable | Description | Default |
| --------------------------------------- | ----------------------------- | ------------------ |
| `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` *(legacy)* | कस्टम प्रमाणीकरण टोकन | Auto-generated |
**क्लाइंट कॉन्फ़िगरेशन:**
| Variable | Description | Default |
| ------------------------------------------------- | ----------------------------------- | ----------------- |
| `RTC_CLIENT_SERVER_ADDRESS` | पूल सर्वर पता (host:port) | `localhost:50051` |
| `RTC_CLIENT_SERVER_TLS_ENABLED` | gRPC कनेक्शन के लिए TLS सक्षम करें | `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` | प्रति GPU बैच नॉन्स रेंज | `500000000` |
| `RTC_CLIENT_GPU_CPU_START_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` *(legacy)* | रिमोट सर्वर पता | `localhost:50051` |
| `GPU_MINING` *(legacy)* | GPU माइनिंग सक्षम/अक्षम करें | Auto-detect |
| `HYBRID_MINING` *(legacy)* | 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
अपेक्षित माइनिंग समय CPU प्रदर्शन और भाग्य के अनुसार भिन्न होता है:
./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
TLS विस्तृत कॉन्फ़िगरेशन के लिए [docs/TLS_SETUP.md](https://github.com/xyplex3/redteamcoin/blob/HEAD/docs/TLS_SETUP.md) देखें।
## 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 परीक्षण:
सभी परीक्षण स्वचालित रूप से चलते हैं:
CI कॉन्फ़िगरेशन के लिए .github/workflows/build-verification.yaml देखें।
विंडोज़ (केवल CPU):```bash make build-windows
बनाता है `bin/client.exe`
**OpenCL के साथ Windows (GPU समर्थन):**```bash
# Requires MinGW-w64 and Windows OpenCL SDK
make build-windows-opencl
Creates bin/client-windows-opencl.exe
See docs/WINDOWS_BUILD.md for complete Windows build instructions including:
एकाधिक प्लेटफ़ॉर्म:```bash make build-all-platforms
बनाता है:
- `client-linux-amd64` - लिनक्स 64-बिट
- `client-linux-arm64` - लिनक्स ARM64
- `client-windows-amd64.exe` - विंडोज़ 64-बिट
- `client-darwin-amd64` - macOS इंटेल
- `client-darwin-arm64` - macOS एप्पल सिलिकॉन
**नोट:** क्रॉस-कंपाइल किए गए बाइनरी केवल CPU के लिए हैं (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 चलाएँकनेक्शन अस्वीकृत:
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`) का पालन करें
- नई कार्यक्षमता के लिए यूनिट परीक्षण जोड़ें
- उपयोगकर्ता-सामने वाले परिवर्तनों के लिए दस्तावेज़ अपडेट करें
- PR जमा करने से पहले सुनिश्चित करें कि सभी CI जाँचें पास हों
## सुरक्षा टिप्पणी
यह एक **प्रदर्शन/शैक्षिक परियोजना** है, जो अधिकृत सुरक्षा परीक्षण
और रेड टीम संचालन के लिए है। इसका उद्देश्य है:
- अधिकृत पेनेट्रेशन परीक्षण कार्य
- सुरक्षा नियंत्रण सत्यापन
- पहचान क्षमता मूल्यांकन
- शैक्षिक और प्रशिक्षण उद्देश्य
यह उपकरण वास्तविक क्रिप्टोकरेंसी के रूप में उत्पादन उपयोग के लिए नहीं है और
इसमें उत्पादन प्रणाली के लिए आवश्यक कई सुविधाएँ नहीं हैं (क्रिप्टोग्राफिक हस्ताक्षर,
वॉलेट, लेनदेन सत्यापन, नेटवर्क सहमति, आदि)।
**केवल उन प्रणालियों पर स्पष्ट प्राधिकरण के साथ उपयोग करें जिनके स्वामी हैं या जिनके पास परीक्षण की
अनुमति है।**
## लाइसेंस
यह परियोजना GNU जनरल पब्लिक लाइसेंस v3.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))
| Configuration | Hash Rate | Speedup | Efficiency (MH/W) |
|---|
| CPU (1 core) | ~2 MH/s | Baseline | ~0.02 |
| CPU (8 cores) | ~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 |
| Hybrid (CPU+GPU) | ~620 MH/s | 310x | ~2.0 |
| Parameter | Default | Notes |
|---|
| CPU Power | 150W | पूर्ण लोड |
| GPU Power | 250W | पूर्ण लोड |
| Electricity | $0.12/kWh | क्षेत्र के अनुसार समायोजित करें |
| Lifespan Reduction | 20-40% | निरंतर माइनिंग से |
| Problem | Solution |
|---|
| "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 |