7 "github.com/bytom/blockchain"
8 "github.com/bytom/consensus/algorithm"
9 "github.com/bytom/consensus/difficulty"
10 "github.com/bytom/util"
14 maxNonce = ^uint64(0) // 2^32 - 1
18 func doWork(work *blockchain.WorkResp) {
19 fmt.Printf("work:%v\n", work)
20 for i := uint64(0); i <= maxNonce; i++ {
22 headerHash := work.Header.Hash()
23 proofHash, err := algorithm.AIHash(work.Header.Height, &headerHash, work.Cache)
25 fmt.Printf("Mining: failed on AIHash: %v\n", err)
29 if difficulty.CheckProofOfWork(proofHash, work.Header.Bits) {
31 fmt.Printf("Mining: successful-----proof hash:%v\n", proofHash)
38 var work blockchain.WorkResp
39 client := util.MustRPCClient()
40 if err := client.Call(context.Background(), "/get-work", nil, &work); err == nil {
43 fmt.Printf("---err:%v\n", err)