From 6f5baa84140107dc51a9e05cc05cff149c1c4408 Mon Sep 17 00:00:00 2001 From: Ethan Buchman Date: Mon, 21 Dec 2015 18:13:42 -0500 Subject: [PATCH] rpc: add app_hash to /status --- rpc/core/net.go | 25 ------------------------- rpc/core/status.go | 30 ++++++++++++++++++++++++++++++ rpc/core/types/responses.go | 1 + 3 files changed, 31 insertions(+), 25 deletions(-) create mode 100644 rpc/core/status.go diff --git a/rpc/core/net.go b/rpc/core/net.go index 1413595c1..d68a4e30d 100644 --- a/rpc/core/net.go +++ b/rpc/core/net.go @@ -2,35 +2,10 @@ package core import ( ctypes "github.com/tendermint/tendermint/rpc/core/types" - "github.com/tendermint/tendermint/types" ) //----------------------------------------------------------------------------- -// TODO Move to status.go or node.go -func Status() (*ctypes.ResultStatus, error) { - latestHeight := blockStore.Height() - var ( - latestBlockMeta *types.BlockMeta - latestBlockHash []byte - latestBlockTime int64 - ) - if latestHeight != 0 { - latestBlockMeta = blockStore.LoadBlockMeta(latestHeight) - latestBlockHash = latestBlockMeta.Hash - latestBlockTime = latestBlockMeta.Header.Time.UnixNano() - } - - return &ctypes.ResultStatus{ - NodeInfo: p2pSwitch.NodeInfo(), - PubKey: privValidator.PubKey, - LatestBlockHash: latestBlockHash, - LatestBlockHeight: latestHeight, - LatestBlockTime: latestBlockTime}, nil -} - -//----------------------------------------------------------------------------- - func NetInfo() (*ctypes.ResultNetInfo, error) { listening := p2pSwitch.IsListening() listeners := []string{} diff --git a/rpc/core/status.go b/rpc/core/status.go new file mode 100644 index 000000000..bf3d69ffe --- /dev/null +++ b/rpc/core/status.go @@ -0,0 +1,30 @@ +package core + +import ( + ctypes "github.com/tendermint/tendermint/rpc/core/types" + "github.com/tendermint/tendermint/types" +) + +func Status() (*ctypes.ResultStatus, error) { + latestHeight := blockStore.Height() + var ( + latestBlockMeta *types.BlockMeta + latestBlockHash []byte + latestAppHash []byte + latestBlockTime int64 + ) + if latestHeight != 0 { + latestBlockMeta = blockStore.LoadBlockMeta(latestHeight) + latestBlockHash = latestBlockMeta.Hash + latestAppHash = latestBlockMeta.Header.AppHash + latestBlockTime = latestBlockMeta.Header.Time.UnixNano() + } + + return &ctypes.ResultStatus{ + NodeInfo: p2pSwitch.NodeInfo(), + PubKey: privValidator.PubKey, + LatestBlockHash: latestBlockHash, + LatestAppHash: latestAppHash, + LatestBlockHeight: latestHeight, + LatestBlockTime: latestBlockTime}, nil +} diff --git a/rpc/core/types/responses.go b/rpc/core/types/responses.go index dccd0be9f..2dc15328e 100644 --- a/rpc/core/types/responses.go +++ b/rpc/core/types/responses.go @@ -21,6 +21,7 @@ type ResultStatus struct { NodeInfo *p2p.NodeInfo `json:"node_info"` PubKey crypto.PubKey `json:"pub_key"` LatestBlockHash []byte `json:"latest_block_hash"` + LatestAppHash []byte `json:"latest_app_hash"` LatestBlockHeight int `json:"latest_block_height"` LatestBlockTime int64 `json:"latest_block_time"` // nano }