github.com/Synthesix/Sia@v1.3.3-0.20180413141344-f863baeed3ca/node/api/client/miner.go (about) 1 package client 2 3 import ( 4 "github.com/Synthesix/Sia/encoding" 5 "github.com/Synthesix/Sia/types" 6 ) 7 8 // MinerHeaderGet uses the /miner/header endpoint to get a header for work. 9 func (c *Client) MinerHeaderGet() (target types.Target, bh types.BlockHeader, err error) { 10 targetAndHeader, err := c.getRawResponse("/miner/header") 11 if err != nil { 12 return types.Target{}, types.BlockHeader{}, err 13 } 14 err = encoding.UnmarshalAll(targetAndHeader, &target, &bh) 15 return 16 } 17 18 // MinerHeaderPost uses the /miner/header endpoint to submit a solved block 19 // header that was previously received from the same endpoint 20 func (c *Client) MinerHeaderPost(bh types.BlockHeader) (err error) { 21 err = c.post("/miner/header", string(encoding.Marshal(bh)), nil) 22 return 23 } 24 25 // MinerStartGet uses the /miner/start endpoint to start the cpu miner. 26 func (c *Client) MinerStartGet() (err error) { 27 err = c.get("/miner/start", nil) 28 return 29 } 30 31 // MinerStopGet uses the /miner/stop endpoint to stop the cpu miner. 32 func (c *Client) MinerStopGet() (err error) { 33 err = c.get("/miner/stop", nil) 34 return 35 }