Documentation ¶
Overview ¶
Package gui implements the communication and control parts of the GUI miner. It constructs and launches the Electron front-end as well as listen for events from the front-end
Index ¶
- type Announcement
- type Config
- type ElectronMessage
- type GUI
- func (gui *GUI) GetAnnouncement() (Announcement, error)
- func (gui *GUI) GetPool(id int) (PoolData, error)
- func (gui *GUI) GetPoolList() ([]PoolData, error)
- func (gui *GUI) GetPoolTemplate(withChangeOption bool) (*template.Template, error)
- func (gui *GUI) GetStats(poolID int, hashrate float64, mid string) (string, error)
- func (gui *GUI) Run() error
- func (gui *GUI) SaveConfig(config Config) error
- type GlobalStats
- type PoolData
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Announcement ¶
type Announcement struct { ID int `json:"id"` Text string `json:"text"` Link string `json:"link"` DateString string `json:"date"` Date time.Time `json:"-"` Ann bool `json:"ann"` }
Announcement is the structure returned is an announcement is made available
type Config ¶
type Config struct { // APIEndpoint is the web endpoint where stats and pools are retrieved from APIEndpoint string `json:"api_endpoint"` // Address to mine to Address string `json:"address"` // PoolID selected on startup PoolID int `json:"pool"` // Mid is the miner identifier Mid string `json:"mid"` // Miner is the config for the miner Miner miner.Config `json:"miner"` }
Config contains the basic configuration for a miner
type ElectronMessage ¶
type ElectronMessage struct {
Data string `json:"data"`
}
ElectronMessage is marshalled and sent to the UI
type GUI ¶
type GUI struct {
// contains filtered or unexported fields
}
GUI implements the core control for the GUI miner
func New ¶
func New( appName string, config *Config, asset bootstrap.Asset, restoreAssets bootstrap.RestoreAssets, apiEndpoint string, workingDir string, isDebug bool) (*GUI, error)
New creates a new instance of the miner application
func (*GUI) GetAnnouncement ¶
func (gui *GUI) GetAnnouncement() (Announcement, error)
GetAnnouncement returns the announcement if available
func (*GUI) GetPoolList ¶
GetPoolList returns the list of pools available to the GUI miner
func (*GUI) GetPoolTemplate ¶
GetPoolTemplate returns the template for rendering a pool block
func (*GUI) GetStats ¶
GetStats returns stats for the interface. It requires the miner's hashrate to calculate XTL per dat
func (*GUI) SaveConfig ¶
SaveConfig saves the configuration to disk
type GlobalStats ¶
type GlobalStats struct { Pool PoolData `json:"pool"` Circulation string `json:"circulation"` LastBlock struct { ID int `json:"id"` Height int `json:"height"` Difficulty int `json:"difficulty"` TxCount int `json:"tx_count"` Reward string `json:"reward"` Timestamp string `json:"timestamp"` } `json:"last_block"` Difficulty string `json:"difficulty"` Height string `json:"height"` VolumeCrex string `json:"volume_crex"` VolumeTradeogre string `json:"volume_tradeogre"` Volume string `json:"volume"` Price string `json:"price"` MarketCap string `json:"market_cap"` Records struct { Price string `json:"price"` Volume string `json:"volume"` } `json:"records"` XtlPerDay string `json:"xtl_per_day"` Hashrate string `json:"hashrate"` // PoolHTML is injected before sending the update to the front-end. Avoids // having to send extra packets PoolHTML string `json:"pool_html"` }
GlobalStats contains the current stats for the network, trading and selected mining pool
type PoolData ¶
type PoolData struct { ID int `json:"id"` Rank int `json:"rank"` APIType string `json:"api_type"` Name string `json:"name"` URL string `json:"url"` Endpoint string `json:"endpoint"` Hashrate string `json:"hashrate"` Miners string `json:"miners"` LastBlock string `json:"last_block"` Config string `json:"config"` IsEnabled int `json:"is_enabled"` DisplayInMiner int `json:"display_in_miner"` LastUpdate string `json:"last_update"` }
PoolData contains the parsed JSON data from the pool list