Skip to main content

Register MinerNFT

Fiecare miner OmbraChain e identificat on-chain printr-un MinerNFT unic, conținând: cheia publică, ID-ul NFT-ului, reputation score, și timestamp-ul de înregistrare.

Ce e un MinerNFT?

Un MinerNFT e o identitate persistentă pe blockchain pentru miner-ul tău. Conține:

CâmpTipDescriere
nftIdstring (hex)sha256(publicKey + timestamp) unic
ownerAddressstringadresa wallet-ului miner
publicKeystring (hex)cheia Ed25519 publică (semnături)
reputationScorenumberstart 100, scalat post-validare
registeredAtnumberblock height la register
tasksCompletednumbercounter task-uri procesate

De ce NFT?

  • Persistent — supraviețuiește restart-urilor wallet
  • Reputation — istoricul performanței afectează șansele VRF de selecție validator
  • Transferabil (în roadmap) — vinzi un miner cu reputation mare
  • Anti-Sybil — un wallet = un MinerNFT, nu poți spammui registrări

Auto-register la prima activare

La primul click pe Activează Mining, wallet-ul:

  1. Verifică dacă există deja MinerNFT pentru adresa ta (GET /api/miners/by-address/{addr})
  2. Dacă nu există:
    • Construiește MinerRegisterTx:
      {
      type: "MINER_REGISTER",
      owner: walletAddress,
      publicKey: hex(walletPublicKey),
      fee: MIN_FEE,
      timestamp: Date.now(),
      signature: sign(...)
      }
    • Calculează nftId = sha256(publicKey + timestamp)
    • Broadcast la mainnet via P2P + REST POST /api/chain/tx
  3. Așteaptă confirmare (1 bloc)
  4. Salvează nftId local în %APPDATA%\Ombra Wallet\miner-nft.json

După confirmare, mining-ul începe.

Validare on-chain

chain.applyMinerRegister(tx) validează:

  • Adresa wallet are balance >= MIN_FEE (0.01 OMBRA)
  • Cheia publică e validă Ed25519
  • NU există deja MinerNFT pentru acea adresă (anti-duplicate)
  • Semnătura tx.signature validă față de tx.publicKey

Dacă validă, MinerNFT-ul e adăugat în state DB (db.putMinerNFT(nft)).

Reputation score

Începe la 100. Modificat după fiecare task pe care îl procesezi:

EvenimentModificare
Task completat cu succes+1 (cap la 1000)
Task respins de validator (output invalid)−5
Task timeout (>60s)−2
Validator anti-cheat detect−20
Reputation atinge 0Disqualified (blacklist temporar)

Reputation mare = șanse VRF mai mari să fii selectat ca validator → mai multe 0.0001 OMBRA din attestation rewards.

Formulă VRF:

weight_i = reputation_i ^ 1.5
prob_selected = weight_i / sum(weights)

Reputation 200 are de 2.83x șanse mai mari decât reputation 100.

Verifică MinerNFT-ul tău

În wallet → tab Mining → secțiunea NFT afișează:

  • NFT ID (hex)
  • Reputation curent
  • Block-ul registrării
  • Total task-uri procesate

Sau pe OmbraScan:

https://ombra-net.com/address/{adresa-ta}

Secțiunea "Miner Status".

Re-register

Nu poți re-register MinerNFT pentru aceeași adresă. Dacă vrei un MinerNFT nou:

  1. Creează un wallet nou (alt seed phrase)
  2. Activează mining pe noul wallet
  3. Vechiul MinerNFT rămâne on-chain (cu reputation păstrat)

Edge case: register fără mining

Poți avea MinerNFT fără să rulezi efectiv mining-ul. Util pentru:

  • Validator-only mode (doar atestare, fără task processing)
  • Rezervare identitate pentru viitor

Vezi și