Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 12893|Válasz: 1

A stratum protokoll elve a bányászgépek és bányászati medencék közötti kommunikációra

[Linket másol]
Közzétéve 2018. 01. 22. 10:23:14 | | | |
A stratum protokoll jelenleg a leggyakrabban használt TCP kommunikációs protokoll a bányászok és a bányászati medencék között. Röviden magyarázzuk el a bányászat hálózati architektúráját.


1. A bányászat hálózati architektúrája


A Bitcoin egy decentralizált hálózati architektúra, amely új tranzakciókat és blokkokat továbbít azáltal, hogy Bitcoin démonokkal rendelkező csomópontokat telepít. A bányászgépek és a bányászati medencék szintén alkotnak egy másik hálózatot, amit bányász hálózatnak hívunk.

A bányászhálózat több fő részre oszlik, mint például bányászati gépek, bányászati medencék, pénztárcák stb., és néha a bányászpool szoftvert a tárcával együtt telepítik, amelyet együttesen bányászati medencének nevezhetünk.

A bányászgép és a bányászati pool szoftver közötti kommunikációs protokoll stratum, míg a bányászati pool szoftver és a pénztárca közötti kommunikáció a bitcoinrpc interfész.

stratum a JSON adatformátum, és a konkrét protokoll a következő:



2. Stratum megállapodás


1. Feladat előfizetés

Amikor a bányászati gép elindul, először a mining.subscribe módszerrel csatlakozik a bányászati medencéhez, hogy feliratkozzon a munkára.

A pool visszaadja az előfizetési számot, az ExtraNonce1-et és a ExtraNonce2_size-t a mining.notify oldalon.

Client:{"id":1,"method":"mining.subscribe","params":[]}

Server:{"id":1,"result":[["mining.notify","ae6812eb4cd7735a302a8a9dd95cf71f"],"08000002",4],"error":null}

Közöttük:

az ae6812eb4cd7735a302a8a9dd95cf71f az előfizetési szám;

08000002 az ExtraNonce1, amelyet coibase tranzakciók építésére használnak;

ExtraNonce2_size 4, az ExtraNonce2 bányász számláló bájtainak száma.

2. Feladatkiosztás

Ezt a parancsot a bányászati pool időről időre elküldi a bányásznak, és amikor a bányászgép regisztrál a mining.subscribe módszerrel, a bányászati poolnak azonnal vissza kell adnia a feladatot mining.notify néven.

Server:{"params":["bf","4d16b6f85af6e2198f44ae2a6de67f78487ae5611b77c6c0440b921e00000000", "010000000100000000000000000000000000000000000000000000000000000000000000 00ffffffff20020862062f503253482f04b8864e5008", "072f736c7573682f000000000100f2052a010000001976a914d23fcdf86f7e756a64a7a9688ef9903327048ed988ac00000000",["c5bd77249e27c2d3a3602dd35c3364a7983900b64a34644d03b930bfdb19c0e5", "049b4e78e2d0b24f7c6a2856aa7b41811ed961ee52ae75527df9e80043fd2f12"], "00000002","1c2ac4af","504e86b9",false],"id":null,"method":"mining.notify"}

Közöttük:

Feladatszám: "bf";

Előző blokk HASH:

"4d16b6f85af6e2198f44ae2a6de67f78487ae5611b77c6c0440b921e0000000";

Coinbase I. rész:
"010000000100000000000000000000000000000000000000000000000 00000000000000000ffffffff20020862062f503253482f04b8864e5008";

Coinbase 2. rész:

"072f736c7573682f000000000100f2052a010000001976a914d23fcdf86f7 e756a64a7a9688ef9903327048ed98ac00000000";

Tranzakcióazonosító lista:

["c5bd77249e27c2d3a3602dd35c3364a7983900b64a3464d03b930bfdb19c0e5", "049b4e78e2d0b24f7c6a2856aa7b41811ed961ee52ae75527df9e80043fd2f12"];

Blokk verziószám: "00000002";

nBit:”1c2ac4af”;

Jelenlegi idő: "504e86b9";

Takarítási feladatok: Ha igaz, a bányász minden feladatot megszakít, és azonnal új feladatot indít. Ha hamis, várd meg, amíg a jelenlegi feladat véget ér, mielőtt új feladatot kezdenél.

3. Bányászgép bejelentkezése

A bányász a mining.authorize módszert használja, hogy egy adott fiókkal és jelszóval jelentkezzen be a bányászati poolba, a jelszó üres lehet, és a bányászati pool visszatér a sikeres bejelentkezéshez. Ezt a módszert azonnal a kapcsolat incializálása után kell végrehajtani, különben a bányász nem kapja meg a pool feladatot.

Client:{"params":["miner1","password"],"id":2,"method":"mining.authorize"}

Server:{"error":null,"id":2,"result":true}

4. Küldd be az eredményeket

Ha egy bányász talál egy legitim részvényt, a "mining.submit" módszerrel küld be egy feladatot a poolba. Ha a pool igazat ad, a commit sikeres lesz, és ha megbukik, akkor van egy konkrét oka a hibának.

Client:{"params":["miner1","bf","00000001","504e86ed","b2957c02"],"id":4,"method":"mining.submit"}

Server:{"error":null,"id":4,"result":true}

Közöttük:

Felhasználónév: "miner1";

Feladatszám: "bf";

ExtraNonce2:"00000001";

Jelenlegi idő: "504e86ed";

nonce:”b2957c02″;

5. Nehézségi beállítás

A nehézségi beállítást a bányászati pool adja ki a bányászgépnek, hogy mining.set_difficulty módon állítsa a nehézséget, és a nehézségi érték a paraméterekben van.

Server:{"id":null,"method":"mining.set_difficulty","params":[2]}

A bányász az új nehézségi szintet a következő feladatra alkalmazza, és a pool néha azonnal új feladatot ad, és a takarítási feladatot valóra állítja, hogy a bányász azonnal dolgozhasson az új nehézségen.



3. Általános kommunikációs folyamat


A bányászati gép és a bányászati medence közötti általános kommunikációs folyamat a következő:

Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com