前言
关键代码
package blockchain
import (
"errors"
tmjson "github.com/tendermint/tendermint/libs/json"
tmtypes "github.com/tendermint/tendermint/rpc/jsonrpc/types"
tmtypes2 "github.com/tendermint/tendermint/rpc/coretypes"
"originCodeServer/nodeservice/net"
"strconv"
)
const (
MNODEHOST = "http://localhost:26657"
ABCIINFOURL = "/abci_info"
ABCIQUERYURL = "/abci_query"
BLOCKURL = "/block"
BLOCKCHAININFOURL = "/blockchain"
TXURL = "/tx"
NETINFOURL = "/net_info"
BROADCASTTXASYNCURL = "/broadcast_tx_async"
)
type BlockChainService struct {
}
func (b *BlockChainService) FindBlockByHeight(height int) (*tmtypes2.ResultBlock, error) {
rpcResult:=&tmtypes.RPCResponse{}
blockResult :=&tmtypes2.ResultBlock{}
if height <= 0 {
return nil, errors.New("height不合法")
}
data, err := net.Post(MNODEHOST+BLOCKURL, map[string]string{"height": strconv.Itoa(height)})
if err != nil {
return nil, err
}
err = tmjson.Unmarshal(data,rpcResult)
if err != nil {
return nil, err
}
err = tmjson.Unmarshal(rpcResult.Result,blockResult)
if err != nil {
return nil, err
}
return blockResult, nil
}
结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/b2efd8d39c9a4e369a76f66ec1a40246.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUmlnaHRTdGFyXw==,size_20,color_FFFFFF,t_70,g_se,x_16)