func (rs *RoundState) RoundStateSimple() RoundStateSimple {
	votesJSON, err := rs.Votes.MarshalJSON()
	if err != nil {
		panic(err)
	}
	return RoundStateSimple{
		HeightRoundStep:   fmt.Sprintf("%d/%d/%d", rs.Height, rs.Round, rs.Step),
		StartTime:         rs.StartTime,
		ProposalBlockHash: rs.ProposalBlock.Hash(),
		LockedBlockHash:   rs.LockedBlock.Hash(),
		ValidBlockHash:    rs.ValidBlock.Hash(),
		Votes:             votesJSON,
	}
}
Compress the RoundState to RoundStateSimple
package types
import (
	"encoding/json"
	"fmt"
	"time"
	"github.com/tendermint/tendermint/types"
	cmn "github.com/tendermint/tendermint/libs/common"
)
type RoundStepType uint8  
const (
	RoundStepNewHeight     = RoundStepType(0x01)  
	RoundStepNewRound      = RoundStepType(0x02)  
	RoundStepPropose       = RoundStepType(0x03)  
	RoundStepPrevote       = RoundStepType(0x04)  
	RoundStepPrevoteWait   = RoundStepType(0x05)  
	RoundStepPrecommit     = RoundStepType(0x06)  
	RoundStepPrecommitWait = RoundStepType(0x07)  
	RoundStepCommit        = RoundStepType(0x08)  
)
func (rs RoundStepType) String() string {
	switch rs {
	case RoundStepNewHeight:
		return "RoundStepNewHeight"
	case RoundStepNewRound:
		return "RoundStepNewRound"
	case RoundStepPropose:
		return "RoundStepPropose"
	case RoundStepPrevote:
		return "RoundStepPrevote"
	case RoundStepPrevoteWait:
		return "RoundStepPrevoteWait"
	case RoundStepPrecommit:
		return "RoundStepPrecommit"
	case RoundStepPrecommitWait:
		return "RoundStepPrecommitWait"
	case RoundStepCommit:
		return "RoundStepCommit"
	default:
		return "RoundStepUnknown"  
	}
}
type RoundState struct {
	Height             int64               `json:"height"`  
	Round              int                 `json:"round"`
	Step               RoundStepType       `json:"step"`
	StartTime          time.Time           `json:"start_time"`
	CommitTime         time.Time           `json:"commit_time"`  
	Validators         *types.ValidatorSet `json:"validators"`
	Proposal           *types.Proposal     `json:"proposal"`
	ProposalBlock      *types.Block        `json:"proposal_block"`
	ProposalBlockParts *types.PartSet      `json:"proposal_block_parts"`
	LockedRound        int                 `json:"locked_round"`
	LockedBlock        *types.Block        `json:"locked_block"`
	LockedBlockParts   *types.PartSet      `json:"locked_block_parts"`
	ValidRound         int                 `json:"valid_round"`        
	ValidBlock         *types.Block        `json:"valid_block"`        
	ValidBlockParts    *types.PartSet      `json:"valid_block_parts"`  
	Votes              *HeightVoteSet      `json:"votes"`
	CommitRound        int                 `json:"commit_round"`  
	LastCommit         *types.VoteSet      `json:"last_commit"`   
	LastValidators     *types.ValidatorSet `json:"last_validators"`
}
type RoundStateSimple struct {
	HeightRoundStep   string          `json:"height/round/step"`
	StartTime         time.Time       `json:"start_time"`
	ProposalBlockHash cmn.HexBytes    `json:"proposal_block_hash"`
	LockedBlockHash   cmn.HexBytes    `json:"locked_block_hash"`
	ValidBlockHash    cmn.HexBytes    `json:"valid_block_hash"`
	Votes             json.RawMessage `json:"height_vote_set"`
}