gitlab.com/SiaPrime/SiaPrime@v1.4.1/node/api/client/miner.go (about)

     1  package client
     2  
     3  import (
     4  	"gitlab.com/SiaPrime/SiaPrime/encoding"
     5  	"gitlab.com/SiaPrime/SiaPrime/node/api"
     6  	"gitlab.com/SiaPrime/SiaPrime/types"
     7  )
     8  
     9  // MinerGet requests the /miner endpoint's resources.
    10  func (c *Client) MinerGet() (mg api.MinerGET, err error) {
    11  	err = c.get("/miner", &mg)
    12  	return
    13  }
    14  
    15  // MinerHeaderGet uses the /miner/header endpoint to get a header for work.
    16  func (c *Client) MinerHeaderGet() (target types.Target, bh types.BlockHeader, err error) {
    17  	_, targetAndHeader, err := c.getRawResponse("/miner/header")
    18  	if err != nil {
    19  		return types.Target{}, types.BlockHeader{}, err
    20  	}
    21  	err = encoding.UnmarshalAll(targetAndHeader, &target, &bh)
    22  	return
    23  }
    24  
    25  // MinerHeaderPost uses the /miner/header endpoint to submit a solved block
    26  // header that was previously received from the same endpoint
    27  func (c *Client) MinerHeaderPost(bh types.BlockHeader) (err error) {
    28  	err = c.post("/miner/header", string(encoding.Marshal(bh)), nil)
    29  	return
    30  }
    31  
    32  // MinerStartGet uses the /miner/start endpoint to start the cpu miner.
    33  func (c *Client) MinerStartGet() (err error) {
    34  	err = c.get("/miner/start", nil)
    35  	return
    36  }
    37  
    38  // MinerStopGet uses the /miner/stop endpoint to stop the cpu miner.
    39  func (c *Client) MinerStopGet() (err error) {
    40  	err = c.get("/miner/stop", nil)
    41  	return
    42  }