-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Closed
Milestone
Description
v0.9.0
Summary
- ABCI Query message has more structure and returns Merkle proofs
- Various improvements in using Docker and Continuous Integration
- PEX fixes and other P2P improvements
- More handshake/replay stability
- New rpc endpoint
/commit - RPC Client API in Go
Breaking
- ABCI Query structure (multiple arguments and return values)
- BlockMeta structure (uses BlockID)
tendermint gen_validatorcommand output (pure JSON)- ValidatorSet structure (exposes Proposer field and renames Proposer() to GetProposer())
Details
Node
- Node is now a BaseService
- Simplify starting Tendermint in-process from another application
Coding and Testing
- Makefile better organized
- Scripts for auto-building binaries across platforms
- Docker image improved, slimmed down (using Alpine), and changed from
tendermint/tmbasetotendermint/tendermint - CONTRIBUTING.md and github ISSUE_TEMPLATE
- Improvements on CircleCI for managing build/test artifacts
- Tests for the PEX reactor and DialSeeds
ABCI
- Query message is now
Query(reqQuery RequestQuery) ResponseQuerywhere
type RequestQuery struct {
Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
Path string `protobuf:"bytes,2,opt,name=path" json:"path,omitempty"`
Height uint64 `protobuf:"varint,3,opt,name=height" json:"height,omitempty"`
Prove bool `protobuf:"varint,4,opt,name=prove" json:"prove,omitempty"`
}
type ResponseQuery struct {
Code CodeType `protobuf:"varint,1,opt,name=code,enum=types.CodeType" json:"code,omitempty"`
Index int64 `protobuf:"varint,2,opt,name=index" json:"index,omitempty"`
Key []byte `protobuf:"bytes,3,opt,name=key,proto3" json:"key,omitempty"`
Value []byte `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"`
Proof []byte `protobuf:"bytes,5,opt,name=proof,proto3" json:"proof,omitempty"`
LastHeight uint64 `protobuf:"varint,6,opt,name=last_height,json=lastHeight" json:"last_height,omitempty"`
Log string `protobuf:"bytes,7,opt,name=log" json:"log,omitempty"`
}
Consensus
- Block replay for app handshake is now done through consensus package, possibly using a mockApp.
- Check peer.Send for failure before updating PeerState
Types
- BlockMeta now contains BlockID instead of the Hash and PartSetHeader (so not compatible with older dbs)
- ValidatorSet.Proposer is exported and persisted
RPC
/commit?height=Xendpoint returns header and commit- new client API for each endpoint, including mocks for testing
CLI
tendermint gen_validatornow produces machine readable output
Pull Requests
- Node refactor: Refactor Node; Node is a simple BaseService #369
- Build Binaries:
make distfor creating binaries and packaging them for distribution #378 - Output all commands: Output all tendermint commands #379
- Update Dockerfile and move to Alpine: update Dockerfile #381 and [docker] move to alpine base image #395
- Cleanup gen_validator: [cli] cleanup gen_validator output #399
- Improve CircleCI: Improve CircleCI setup (WIP) #394
- Check peer.Send: Check
peer.Sendfailures #373 - /commit RPC endpoint: Rpc commit #405
- Handshake replay through consensus/WAL: handshake replay through consensus using mockApp #408
- RPC Client API: Add flexible rpc client to tendermint #418
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels