Wie senden Miner Blöcke an Netzwerkkollegen?

Wie senden Miner Blöcke an Netzwerkkollegen?

im Array-json-Format, also:

{
"hash":"000000000000000000a7b4999c723ed9f308425708577c76827ade51062e135a",
"ver":536870912,
"prev_block":"0000000000000000005ac8cd6b7f803c11a617b901a13e05318a155f8f215ea1",
"mrkl_root":"48915d048e3f3a8c19d3ab81ebdfc16278cd665637770305ae2e3cb2eaf97ccc",
"time":1512192330,
"bits":402706678,
"fee":0,
"nonce":2321456741,
"n_tx":1,
"size":266,
"block_index":1648336,
"main_chain":true,
"height":497152,
"received_time":1512192330,
"relayed_by":"0.0.0.0",
 "tx":[

 { "ver":1,
  "inputs":[
     {
        "sequence":1663,
        "witness":"",





 "script":   "030096072cfabe6d6d08d1c2f6d904f4e1cd10c6558f8e5aed5d6a89c43bb22862464ebb819dd8813404000000f09f909f104d696e6564206279206a6f73656d737200000000000000000000000000000000000000000000000000000000000000000000"
  }
   ],
  "weight":740,
  "relayed_by":"0.0.0.0",
   "out":[
    {
     "addr_tag_link":"https:\/\/www.f2pool.com",
     "addr_tag":"Discus Fish (F2Pool)",
     "spent":true,
     "tx_index":307162790,
     "type":0,
     "addr":"1KFHE7w8BhaENAswwryaoccDb6qcT6DbYY",
     "value":1250000000,
     "n":0,
          "script":"76a914c825a1ecf2a6830c4401620c3a16f1995057c2ab88ac"
  }
   ],
   "lock_time":953150447,
  "size":185,
   "rbf":true,
  "time":1512192330,
   "tx_index":307162790,
   "vin_sz":1,
  "hash":      "48915d048e3f3a8c19d3ab81ebdfc16278cd665637770305ae2e3cb2eaf97ccc",
   "vout_sz":1
 }]
 }

oder Hex-Format, also:

00000020a15e218f5f158a31053ea101b917a6113c807f6bcdc85a000000000000000000cc7cf9eab23c2eae050377375666cd7862c1dfeb81abd3198c3a3f8e045d91484a39225af6d00018659e5e8a0101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff64030096072cfabe6d6d08d1c2f6d904f4e1cd10c6558f8e5aed5d6a89c43bb22862464ebb819dd8813404000000f09f909f104d696e6564206279206a6f73656d7372000000000000000000000000000000000000000000000000000000000000000000007f06000001807c814a000000001976a914c825a1ecf2a6830c4401620c3a16f1995057c2ab88acefebcf38

Antworten (3)

Blöcke werden normalerweise mit BIP152 gesendet . Dies überträgt Blöcke mit einem 80-Byte-Header, 6 Bytes pro Transaktion, plus die Coinbase-Transaktion. Um ein konkretes Beispiel zu geben, benötigte der Block 00000000000000000117f0033fd8cff18a9fa4601da7f93e6eb3e084caab586 16244 Bytes für die Übertragung.

Beim Senden an einen Peer, der die Transaktionen noch nicht kennt (oder BIP152 nicht unterstützt), sendet der Knoten den Rohblock, der halb so groß ist wie das Hex. Bei diesem Block ist der Rohblock 1.125.118 Byte lang.

Auch nicht, es ist ein Binärformat auf dem Draht.

Das 'Hex'-Format ist dasselbe wie das Binärformat, es nimmt nur doppelt so viel Platz ein.

Diese Bitcoin-JSON-RPC-Funktion versucht, einen neuen Block an das Netzwerk zu senden:

https://bitcoincore.org/en/doc/0.16.0/rpc/mining/submitblock/

Ist das korrekt? {"id": 0, "method": "submitblock", "params": [ "00000020a15e218f5f158a31053ea101b917a6113c807f6bcd......", # Header-Block "0100000001000000000000000000000000000000000000000000000000000000000000000......"00coin)0