théorie minière : Mon en-tête de bloc est-il valide  ?


J'ai besoin d'aide pour valider si l'ordre des choses est correct dans mon en-tête de bloc pour l'exploitation minière. Je construis mon propre mineur comme un défi et j'ai toujours du mal avec les formats appropriés.

notify »

«  »

Le résultat que je génère est  :

théorie minière : Mon en-tête de bloc est-il valide  ?

Coinbase1 : Coinbase2 : 0 Extranonce1 : 5324fa6e Extranonce2 : 000000008f6bc892 Extranonce2 taille : 8 Merkle 0 : c7475d794e5 Merkle 1 : Merkle 2 : 5ae42d65 Merkle 3 : Merkle 4 : a16827ebd567 Merkle 5 : Merkle 6 : a89f36662839 Merkle 7 : Merkle 8 : Merkle 9 : 1d7f Merkle 10 : Merkle 11 : a62dee84 Version : 536870912 / 20000000 Merklehash : ntime : 662685b8 / 662685b8 nbits : 170 34219 / 17034219 Nonce  : 00 Pré-hash du bloc  : En-tête de bloc  : Hachage de bloc (inversé) : Cible (inversée) :

Le pool envoie le hachage précédent sous la forme , donc certaines parties sont déjà inversées (mais cela n'indique nulle part ce qui est inversé et pourrait être utilisé tel quel).

La façon dont je construis le bloc est la suivante  :

CONSTRUCTION (CONCATENER)

  • Ne pas inverser la version du pool 20000000
  • bitcoin/li>

  • Dhash le merkle et inversez-le
  • Ne pas inverser le temps depuis le pool 662685b8
  • Ne pas inverser les nbits du pool 17034219
  • Générez un nom occasionnel aléatoire et ne l'inversez pas
  • HACHAGE

  • Après avoir calculé la cible à partir de nbits, inversez-la comme suit  :.
  • Après avoir DHashé l'en-tête, inversez-le en  :
  • COMPARER

    Effectuer une comparaison entre le hachage et la cible avec

    1 –i) { if (a[i] b[i]) renvoie 1  }

    Merci d'avance !