This repository contains the Stratum V2 protocol specification.
- 0. Abstract
- 1. Motivation
- 2. Design Goals
- 3. Protocol Overview
- 4. Mining Protocol
- 4.1 Channels
- 4.2 Hashing Space Distribution
- 4.3 Mining Protocol Messages
- 4.3.1 SetupConnection Flags for Mining Protocol
- 4.3.2 OpenStandardMiningChannel (Client -> Server)
- 4.3.3 OpenStandardMiningChannel.Success (Server -> Client)
- 4.3.4 OpenExtendedMiningChannel (Client -> Server)
- 4.3.5 OpenExtendedMiningChannel.Success (Server -> Client)
- 4.3.6 OpenMiningChannel.Error (Server -> Client)
- 4.3.7 UpdateChannel (Client -> Server)
- 4.3.8 UpdateChannel.Error (Server -> Client)
- 4.3.9 CloseChannel (Client -> Server, Server -> Client)
- 4.3.10 SetExtranoncePrefix (Server -> Client)
- 4.3.11 SubmitSharesStandard (Client -> Server)
- 4.3.12 SubmitSharesExtended (Client -> Server)
- 4.3.13 SubmitShares.Success (Server -> Client)
- 4.3.14 SubmitShares.Error (Server -> Client)
- 4.3.15 NewMiningJob (Server -> Client)
- 4.3.16 NewExtendedMiningJob (Server -> Client)
- 4.3.17 SetNewPrevHash (Server -> Client, broadcast)
- 4.3.18 SetCustomMiningJob (Client -> Server)
- 4.3.19 SetCustomMiningJob.Success (Server -> Client)
- 4.3.20 SetCustomMiningJob.Error (Server -> Client)
- 4.3.21 SetTarget (Server -> Client)
- 4.3.22 Reconnect (Server -> Client)
- 4.3.23 SetGroupChannel (Server -> Client)
- 5. Job Negotiation Protocol
- 5.1 Job Negotiation Protocol Messages
- 5.1.1 SetupConnection Flags for Job Negotiation Protocol
- 5.1.2 AllocateMiningJobToken (Client -> Server)
- 5.1.3 AllocateMiningJobToken.Success (Server -> Client)
- 5.1.4 CommitMiningJob (Client -> Server)
- 5.1.5 CommitMiningJob.Success (Server -> Client)
- 5.1.6 CommitMiningJob.Error (Server->Client)
- 5.1.7 IdentifyTransactions (Server->Client)
- 5.1.8 IdentifyTransactions.Success (Client->Server)
- 5.1.9 ProvideMissingTransactions (Server->Client)
- 5.1.10 ProvideMissingTransactions.Success (Client->Server)
- 5.1 Job Negotiation Protocol Messages
- 6. Template Distribution Protocol
- 6.1 CoinbaseOutputDataSize (Client -> Server)
- 6.2 NewTemplate (Server -> Client)
- 6.3 SetNewPrevHash (Server -> Client)
- 6.4 RequestTransactionData (Client -> Server)
- 6.5 RequestTransactionData.Success (Server->Client)
- 6.6 RequestTransactionData.Error (Server->Client)
- 6.7 SubmitSolution (Client -> Server)
- 7. Message Types
- 8. Extensions
- 9. Discussion
Pavel Moravec [email protected]
Jan Čapek [email protected]
Matt Corallo [email protected]