Documentation ¶
Index ¶
- Constants
- func AuthorizeRequest(id MessageID, r AuthorizeParams) request
- func AuthorizeResponse(id MessageID, b bool) response
- func BooleanResponse(id MessageID, x bool) response
- func ConfigureRequest(id MessageID, p ConfigureParams) request
- func ConfigureResponse(id MessageID, r ConfigureResult) response
- func EncodeExtension(m Extension) (string, error)
- func EncodeMethod(m Method) (string, error)
- func ErrorResponse(id MessageID, e Error) response
- func Notification(m Method, params []interface{}) notification
- func Notify(n NotifyParams) notification
- func Request(id MessageID, m Method, params []interface{}) request
- func Response(id MessageID, r interface{}) response
- func SetDifficulty(d Difficulty) notification
- func SetVersionMask(u uint32) notification
- func Submit(id MessageID, share SubmitParams) request
- func SubmitResponse(id MessageID, b bool) response
- func SubscribeRequest(id MessageID, r SubscribeParams) request
- func SubscribeResponse(m MessageID, r SubscribeResult) response
- func ValidDifficulty(u Difficulty) bool
- func ValidMessageID(id MessageID) bool
- type AuthorizeParams
- type AuthorizeResult
- type BooleanResult
- type ConfigureParams
- func (p *ConfigureParams) Add(z interface{}) error
- func (p *ConfigureParams) ReadInfo() *InfoConfigurationRequest
- func (p *ConfigureParams) ReadMinimumDifficulty() *MinimumDifficultyConfigurationRequest
- func (p *ConfigureParams) ReadSubscribeExtranonce() *SubscribeExtranonceConfigurationRequest
- func (p *ConfigureParams) ReadVersionRolling() *VersionRollingConfigurationRequest
- type ConfigureResult
- func (p *ConfigureResult) Add(z interface{}) error
- func (p *ConfigureResult) ReadInfo() *InfoConfigurationResult
- func (p *ConfigureResult) ReadMinimumDifficulty() *MinimumDifficultyConfigurationResult
- func (p *ConfigureResult) ReadSubscribeExtranonce() *SubscribeExtranonceConfigurationResult
- func (p *ConfigureResult) ReadVersionRolling() *VersionRollingConfigurationResult
- type Difficulty
- type Error
- type ErrorCode
- type Extension
- type ID
- type InfoConfigurationRequest
- type InfoConfigurationResult
- type MessageID
- type Method
- type MinimumDifficultyConfigurationRequest
- type MinimumDifficultyConfigurationResult
- type NotifyParams
- type SetDifficultyParams
- type SetVersionMaskParams
- type Share
- type SubmitParams
- type SubmitResult
- type SubscribeExtranonceConfigurationRequest
- type SubscribeExtranonceConfigurationResult
- type SubscribeParams
- type SubscribeResult
- type Subscription
- type VersionRollingConfigurationRequest
- type VersionRollingConfigurationResult
- type Worker
- type WorkerName
Constants ¶
View Source
const ( Unknown = iota VersionRolling MinimumDifficulty SubscribeExtranonce Info )
Variables ¶
This section is empty.
Functions ¶
func AuthorizeRequest ¶
func AuthorizeRequest(id MessageID, r AuthorizeParams) request
func AuthorizeResponse ¶
func BooleanResponse ¶
func ConfigureRequest ¶
func ConfigureRequest(id MessageID, p ConfigureParams) request
func ConfigureResponse ¶
func ConfigureResponse(id MessageID, r ConfigureResult) response
func EncodeExtension ¶
func EncodeMethod ¶
func ErrorResponse ¶
func Notification ¶
func Notification(m Method, params []interface{}) notification
func Notify ¶
func Notify(n NotifyParams) notification
func SetDifficulty ¶
func SetDifficulty(d Difficulty) notification
func SetVersionMask ¶
func SetVersionMask(u uint32) notification
func Submit ¶
func Submit(id MessageID, share SubmitParams) request
func SubmitResponse ¶
func SubscribeRequest ¶
func SubscribeRequest(id MessageID, r SubscribeParams) request
func SubscribeResponse ¶
func SubscribeResponse(m MessageID, r SubscribeResult) response
func ValidDifficulty ¶
func ValidDifficulty(u Difficulty) bool
Difficulty can be given as a uint or a float.
func ValidMessageID ¶
MessageIDs are allowed to be integers or strings.
Types ¶
type AuthorizeParams ¶
type AuthorizeParams struct { Username string // Password is optional. Pools don't necessarily require a miner to log in to mine. Password *string }
func (*AuthorizeParams) Read ¶
func (p *AuthorizeParams) Read(r *request) error
type AuthorizeResult ¶
type AuthorizeResult BooleanResult
type BooleanResult ¶
type BooleanResult struct {
Result bool
}
func (*BooleanResult) Read ¶
func (b *BooleanResult) Read(r *response) error
type ConfigureParams ¶
func (*ConfigureParams) Add ¶
func (p *ConfigureParams) Add(z interface{}) error
func (*ConfigureParams) ReadInfo ¶
func (p *ConfigureParams) ReadInfo() *InfoConfigurationRequest
func (*ConfigureParams) ReadMinimumDifficulty ¶
func (p *ConfigureParams) ReadMinimumDifficulty() *MinimumDifficultyConfigurationRequest
func (*ConfigureParams) ReadSubscribeExtranonce ¶
func (p *ConfigureParams) ReadSubscribeExtranonce() *SubscribeExtranonceConfigurationRequest
func (*ConfigureParams) ReadVersionRolling ¶
func (p *ConfigureParams) ReadVersionRolling() *VersionRollingConfigurationRequest
type ConfigureResult ¶
type ConfigureResult map[string]interface{}
func (*ConfigureResult) Add ¶
func (p *ConfigureResult) Add(z interface{}) error
func (*ConfigureResult) ReadInfo ¶
func (p *ConfigureResult) ReadInfo() *InfoConfigurationResult
func (*ConfigureResult) ReadMinimumDifficulty ¶
func (p *ConfigureResult) ReadMinimumDifficulty() *MinimumDifficultyConfigurationResult
func (*ConfigureResult) ReadSubscribeExtranonce ¶
func (p *ConfigureResult) ReadSubscribeExtranonce() *SubscribeExtranonceConfigurationResult
func (*ConfigureResult) ReadVersionRolling ¶
func (p *ConfigureResult) ReadVersionRolling() *VersionRollingConfigurationResult
type Difficulty ¶
type Difficulty interface{}
type ID ¶
type ID uint32
A stratum session id is assigned by the mining pool to a miner and it is included in the coinbase script of the block that is produced. we also use ID for job ids.
type InfoConfigurationResult ¶
type InfoConfigurationResult struct {
Accepted bool
}
type MessageID ¶
type MessageID interface{}
MessageID is a unique identifier that is different for each notification and request / response.
type MinimumDifficultyConfigurationRequest ¶
type MinimumDifficultyConfigurationRequest struct {
Difficulty Difficulty
}
type MinimumDifficultyConfigurationResult ¶
type MinimumDifficultyConfigurationResult struct {
Accepted bool
}
type NotifyParams ¶
type SetDifficultyParams ¶
type SetDifficultyParams struct {
Difficulty Difficulty
}
func (*SetDifficultyParams) Read ¶
func (p *SetDifficultyParams) Read(n *notification) error
type SetVersionMaskParams ¶
type SetVersionMaskParams struct {
Mask uint32
}
type SubmitParams ¶
type SubmitParams Share
type SubmitResult ¶
type SubmitResult BooleanResult
type SubscribeExtranonceConfigurationRequest ¶
type SubscribeExtranonceConfigurationRequest struct{}
type SubscribeExtranonceConfigurationResult ¶
type SubscribeExtranonceConfigurationResult struct {
Accepted bool
}
type SubscribeParams ¶
func (*SubscribeParams) Read ¶
func (p *SubscribeParams) Read(r *request) error
type SubscribeResult ¶
type SubscribeResult struct { Subscriptions []Subscription ExtraNonce1 ID ExtraNonce2Size uint32 }
func (*SubscribeResult) Read ¶
func (p *SubscribeResult) Read(r *response) error
type Subscription ¶
A Subscription is a 2-element json array containing a method and a session id.
type Worker ¶
type Worker struct { Name WorkerName SessionID ID ExtraNonce2Size uint32 VersionMask *uint32 }
Worker represents a miner who is doing work for the pool. This would be used in an implementation of a Stratum server and is not part of the Stratum protocol.
type WorkerName ¶
type WorkerName string
Click to show internal directories.
Click to hide internal directories.