Skip to main content

Crate mining_sv2

Crate mining_sv2 

Source
Expand description

§Stratum V2 Mining Protocol Messages Crate

mining_sv2 is a Rust crate that implements a set of messages defined in the Mining protocol of Stratum V2.

The Mining protocol enables the distribution of work to mining devices and the submission of proof-of-work results.

For further information about the messages, please refer to Stratum V2 documentation - Mining.

§Build Options

This crate can be built with the following features:

§Usage

To include this crate in your project, run:

$ cargo add mining_sv2

For further information about the mining protocol, please refer to Stratum V2 documentation - Mining Protocol.

Structs§

CloseChannel
Message used by a downstream to close a mining channel.
NewExtendedMiningJob
Message used by an upstream to provide an updated mining job to the downstream through Extended or Group Channel only.
NewMiningJob
Message used by an upstream to provide an updated mining job to downstream.
OpenExtendedMiningChannel
Message used by a downstream to request opening an Extended Channel with an upstream role.
OpenExtendedMiningChannelSuccess
Message used by upstream to accept [OpenExtendedMiningChannel request from downstream.
OpenMiningChannelError
Message used by upstream to reject OpenExtendedMiningChannel or [OpenStandardMiningchannel] request from downstream.
OpenStandardMiningChannel
Message used by a downstream to request opening a Standard Channel.
OpenStandardMiningChannelSuccess
Message used by upstream to accept OpenStandardMiningChannel request from downstream.
SetCustomMiningJob
Message used by downstream role to set a custom job to an upstream (Pool).
SetCustomMiningJobError
Message used by upstream to reject SetCustomMiningJob request.
SetCustomMiningJobSuccess
Message used by upstream to accept SetCustomMiningJob request.
SetExtranoncePrefix
Message used by upstream to change downstream node’s extranonce prefix.
SetGroupChannel
Message used by upstream to associate a set of Standard Channel(s) to a Group Channel.
SetNewPrevHash
Message used by upstream to share or distribute the latest block hash.
SetTarget
Message used by upstream to control the downstream submission rate by adjusting the difficulty target on a specified channel.
SubmitSharesError
Message used by upstream to reject SubmitSharesStandard or SubmitSharesExtended.
SubmitSharesExtended
Message used by downstream to send result of its hashing work to an upstream.
SubmitSharesStandard
Message used by downstream to send result of its hashing work to an upstream.
SubmitSharesSuccess
Message used by upstream to accept SubmitSharesStandard or SubmitSharesExtended.
UpdateChannel
Message used by downstream to notify an upstream about changes on a specified channel.
UpdateChannelError
Message used by upstream to notify downstream about an error in the UpdateChannel message.

Constants§

CHANNEL_BIT_CLOSE_CHANNEL
CHANNEL_BIT_MINING_SET_NEW_PREV_HASH
CHANNEL_BIT_NEW_EXTENDED_MINING_JOB
CHANNEL_BIT_NEW_MINING_JOB
CHANNEL_BIT_OPEN_EXTENDED_MINING_CHANNEL
CHANNEL_BIT_OPEN_EXTENDED_MINING_CHANNEL_SUCCESS
CHANNEL_BIT_OPEN_MINING_CHANNEL_ERROR
CHANNEL_BIT_OPEN_STANDARD_MINING_CHANNEL
CHANNEL_BIT_OPEN_STANDARD_MINING_CHANNEL_SUCCESS
CHANNEL_BIT_SET_CUSTOM_MINING_JOB
CHANNEL_BIT_SET_CUSTOM_MINING_JOB_ERROR
CHANNEL_BIT_SET_CUSTOM_MINING_JOB_SUCCESS
CHANNEL_BIT_SET_EXTRANONCE_PREFIX
CHANNEL_BIT_SET_GROUP_CHANNEL
CHANNEL_BIT_SET_TARGET
CHANNEL_BIT_SUBMIT_SHARES_ERROR
CHANNEL_BIT_SUBMIT_SHARES_EXTENDED
CHANNEL_BIT_SUBMIT_SHARES_STANDARD
CHANNEL_BIT_SUBMIT_SHARES_SUCCESS
CHANNEL_BIT_UPDATE_CHANNEL
CHANNEL_BIT_UPDATE_CHANNEL_ERROR
ERROR_CODE_OPEN_MINING_CHANNEL_EXTENDED_CHANNELS_NOT_SUPPORTED_FOR_STANDARD_JOBS
ERROR_CODE_OPEN_MINING_CHANNEL_INVALID_NOMINAL_HASHRATE
ERROR_CODE_OPEN_MINING_CHANNEL_INVALID_USER_IDENTITY
ERROR_CODE_OPEN_MINING_CHANNEL_MAX_TARGET_OUT_OF_RANGE
ERROR_CODE_OPEN_MINING_CHANNEL_MIN_EXTRANONCE_SIZE_TOO_LARGE
ERROR_CODE_OPEN_MINING_CHANNEL_STANDARD_CHANNELS_NOT_SUPPORTED_FOR_CUSTOM_WORK
ERROR_CODE_OPEN_MINING_CHANNEL_UNKNOWN_USER
ERROR_CODE_OPEN_MINING_CHANNEL_UNSUPPORTED_MIN_EXTRANONCE_SIZE
ERROR_CODE_SET_CUSTOM_MINING_JOB_INVALID_CHANNEL_ID
ERROR_CODE_SET_CUSTOM_MINING_JOB_INVALID_COINBASE_PREFIX
ERROR_CODE_SET_CUSTOM_MINING_JOB_INVALID_COINBASE_TX
ERROR_CODE_SET_CUSTOM_MINING_JOB_INVALID_COINBASE_TX_INPUT_N_SEQUENCE
ERROR_CODE_SET_CUSTOM_MINING_JOB_INVALID_COINBASE_TX_LOCKTIME
ERROR_CODE_SET_CUSTOM_MINING_JOB_INVALID_COINBASE_TX_OUTPUTS
ERROR_CODE_SET_CUSTOM_MINING_JOB_INVALID_COINBASE_TX_VERSION
ERROR_CODE_SET_CUSTOM_MINING_JOB_INVALID_MERKLE_PATH
ERROR_CODE_SET_CUSTOM_MINING_JOB_INVALID_MINING_JOB_TOKEN
ERROR_CODE_SET_CUSTOM_MINING_JOB_INVALID_MIN_NTIME
ERROR_CODE_SET_CUSTOM_MINING_JOB_INVALID_NBITS
ERROR_CODE_SET_CUSTOM_MINING_JOB_INVALID_VERSION
ERROR_CODE_SET_CUSTOM_MINING_JOB_JD_NOT_SUPPORTED
ERROR_CODE_SET_CUSTOM_MINING_JOB_JOB_NOT_YET_VALIDATED
ERROR_CODE_SET_CUSTOM_MINING_JOB_STALE_CHAIN_TIP
ERROR_CODE_SUBMIT_SHARES_BAD_EXTRANONCE_SIZE
ERROR_CODE_SUBMIT_SHARES_DIFFICULTY_TOO_LOW
ERROR_CODE_SUBMIT_SHARES_DUPLICATE_SHARE
ERROR_CODE_SUBMIT_SHARES_INVALID_CHANNEL_ID
ERROR_CODE_SUBMIT_SHARES_INVALID_JOB_ID
ERROR_CODE_SUBMIT_SHARES_INVALID_SHARE
ERROR_CODE_SUBMIT_SHARES_STALE_SHARE
ERROR_CODE_UPDATE_CHANNEL_INVALID_CHANNEL_ID
ERROR_CODE_UPDATE_CHANNEL_INVALID_NOMINAL_HASHRATE
ERROR_CODE_VERSION_ROLLING_NOT_ALLOWED
MESSAGE_TYPE_CLOSE_CHANNEL
MESSAGE_TYPE_MINING_SET_NEW_PREV_HASH
MESSAGE_TYPE_NEW_EXTENDED_MINING_JOB
MESSAGE_TYPE_NEW_MINING_JOB
MESSAGE_TYPE_OPEN_EXTENDED_MINING_CHANNEL
MESSAGE_TYPE_OPEN_EXTENDED_MINING_CHANNEL_SUCCESS
MESSAGE_TYPE_OPEN_MINING_CHANNEL_ERROR
MESSAGE_TYPE_OPEN_STANDARD_MINING_CHANNEL
MESSAGE_TYPE_OPEN_STANDARD_MINING_CHANNEL_SUCCESS
MESSAGE_TYPE_SET_CUSTOM_MINING_JOB
MESSAGE_TYPE_SET_CUSTOM_MINING_JOB_ERROR
MESSAGE_TYPE_SET_CUSTOM_MINING_JOB_SUCCESS
MESSAGE_TYPE_SET_EXTRANONCE_PREFIX
MESSAGE_TYPE_SET_GROUP_CHANNEL
MESSAGE_TYPE_SET_TARGET
MESSAGE_TYPE_SUBMIT_SHARES_ERROR
MESSAGE_TYPE_SUBMIT_SHARES_EXTENDED
MESSAGE_TYPE_SUBMIT_SHARES_STANDARD
MESSAGE_TYPE_SUBMIT_SHARES_SUCCESS
MESSAGE_TYPE_UPDATE_CHANNEL
MESSAGE_TYPE_UPDATE_CHANNEL_ERROR