Skip to content
This repository was archived by the owner on Jul 15, 2018. It is now read-only.

Commit ebee2fe

Browse files
authored
Merge pull request #261 from tendermint/release/v0.11.0
Release/v0.11.0
2 parents cd24e92 + 084f2e5 commit ebee2fe

26 files changed

+800
-964
lines changed

.circleci/config.yml

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ jobs:
4646
paths:
4747
- /go/src/github.com/tendermint/abci
4848

49-
test_integration:
49+
test_apps:
5050
<<: *defaults
5151
steps:
5252
- attach_workspace:
@@ -56,10 +56,27 @@ jobs:
5656
- restore_cache:
5757
key: v1-tree-{{ .Environment.CIRCLE_SHA1 }}
5858
- run:
59-
name: Run integration tests
59+
name: Run apps tests
6060
command: |
61-
find . -path ./vendor -prune -o -name "*.sock" -exec rm {} \;
62-
bash tests/test.sh
61+
export PATH="$GOBIN:$PATH"
62+
bash tests/test_app/test.sh
63+
64+
# XXX: if this test fails, fix it and update the docs at:
65+
# https://github.com/tendermint/tendermint/blob/develop/docs/abci-cli.rst
66+
test_cli:
67+
<<: *defaults
68+
steps:
69+
- attach_workspace:
70+
at: /tmp/workspace
71+
- restore_cache:
72+
key: v1-pkg-cache
73+
- restore_cache:
74+
key: v1-tree-{{ .Environment.CIRCLE_SHA1 }}
75+
- run:
76+
name: Run cli tests
77+
command: |
78+
export PATH="$GOBIN:$PATH"
79+
bash tests/test_cli/test.sh
6380
6481
test_cover:
6582
<<: *defaults
@@ -111,11 +128,12 @@ workflows:
111128
- test_cover:
112129
requires:
113130
- setup_dependencies
114-
- test_integration:
115-
requires:
131+
- test_apps:
132+
requires:
133+
- setup_dependencies
134+
- test_cli:
135+
requires:
116136
- setup_dependencies
117137
- upload_coverage:
118138
requires:
119-
- test_integrations
120-
121-
139+
- test_cover

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ types/types.pb.go
44
*.sw[op]
55
abci-cli
66
coverage.txt
7+
profile.out

CHANGELOG.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,29 @@
11
# Changelog
22

3+
## 0.11.0
4+
5+
*TBD*
6+
7+
BREAKING CHANGES:
8+
9+
- [example/dummy] Remove. See example/kvstore
10+
- [types] Upgrade many messages:
11+
- RequestInitChain takes all fields from a Genesis file
12+
- RequestBeginBlock provides a list of all validators and whether or not
13+
they signed
14+
- Header: remove some fields, add proposer
15+
- BlockID, PartSetHeader: remove
16+
- Validator: includes address
17+
- PubKey: new message with `type` and `data`
18+
- Evidence: add type and more fields
19+
20+
FEATURES:
21+
22+
- [types] Add some fields
23+
- ResponseInitChain includes ConsensusParams and Validators
24+
- ResponseBeginBlock includes tags
25+
- ResponseEndBlock includes tags
26+
327
## 0.10.3 (April 9, 2018)
428

529
IMPROVEMENTS:

Makefile

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,21 @@ test_race:
8282
@echo "==> Running go test --race"
8383
@go test -v -race $(PACKAGES)
8484

85-
test_integrations:
86-
@bash test.sh
87-
85+
### three tests tested by Jenkins
86+
test_cover:
87+
@ bash tests/test_cover.sh
88+
89+
test_apps:
90+
# test the counter using a go test script
91+
@ bash tests/test_app/test.sh
92+
93+
test_cli:
94+
# test the cli against the examples in the tutorial at:
95+
# http://tendermint.readthedocs.io/projects/tools/en/master/abci-cli.html
96+
#
97+
# XXX: if this test fails, fix it and update the docs at:
98+
# https://github.com/tendermint/tendermint/blob/develop/docs/abci-cli.rst
99+
@ bash tests/test_cli/test.sh
88100

89101
########################################
90102
### Formatting, linting, and vetting
@@ -159,4 +171,4 @@ devdoc_clean:
159171
# To avoid unintended conflicts with file names, always add to .PHONY
160172
# unless there is a reason not to.
161173
# https://www.gnu.org/software/make/manual/html_node/Phony-Targets.html
162-
.PHONY: check protoc build dist install check_tools get_tools get_protoc update_tools get_vendor_deps test test_race test_integrations fmt metalinter metalinter_all docker_build docker_run docker_run_rm devdoc_init devdoc devdoc_save devdoc_clean
174+
.PHONY: check protoc build dist install check_tools get_tools get_protoc update_tools get_vendor_deps test test_race fmt metalinter metalinter_all docker_build docker_run docker_run_rm devdoc_init devdoc devdoc_save devdoc_clean

README.md

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,28 @@
55
Blockchains are systems for multi-master state machine replication.
66
**ABCI** is an interface that defines the boundary between the replication engine (the blockchain),
77
and the state machine (the application).
8-
By using a socket protocol, we enable a consensus engine running in one process
9-
to manage an application state running in another.
10-
11-
For background information on ABCI, motivations, and tendermint, please visit [the documentation](http://tendermint.readthedocs.io/en/master/).
12-
The two guides to focus on are the `Application Development Guide` and `Using ABCI-CLI`.
8+
Using a socket protocol, a consensus engine running in one process
9+
can manage an application state running in another.
1310

1411
Previously, the ABCI was referred to as TMSP.
1512

1613
The community has provided a number of addtional implementations, see the [Tendermint Ecosystem](https://tendermint.com/ecosystem)
1714

1815
## Specification
1916

20-
The [primary specification](https://github.com/tendermint/abci/blob/master/types/types.proto)
21-
is made using Protocol Buffers. To build it, run
17+
A detailed description of the ABCI methods and message types is contained in:
18+
19+
- [A prose specification](specification.md)
20+
- [A protobuf file](https://github.com/tendermint/abci/blob/master/types/types.proto)
21+
- [A Go interface](https://github.com/tendermint/abci/blob/master/types/application.go).
22+
23+
For more background information on ABCI, motivations, and tendermint, please visit [the documentation](http://tendermint.readthedocs.io/en/master/).
24+
The two guides to focus on are the `Application Development Guide` and `Using ABCI-CLI`.
25+
26+
27+
## Protocl Buffers
28+
29+
To compile the protobuf file, run:
2230

2331
```
2432
make protoc
@@ -28,12 +36,10 @@ See `protoc --help` and [the Protocol Buffers site](https://developers.google.co
2836
for details on compiling for other languages. Note we also include a [GRPC](http://www.grpc.io/docs)
2937
service definition.
3038

31-
For the specification as an interface in Go, see the
32-
[types/application.go file](https://github.com/tendermint/abci/blob/master/types/application.go).
33-
34-
See the [spec file](specification.rst) for a detailed description of the message types.
39+
## Install ABCI-CLI
3540

36-
## Install
41+
The `abci-cli` is a simple tool for debugging ABCI servers and running some
42+
example apps. To install it:
3743

3844
```
3945
go get github.com/tendermint/abci

cmd/abci-cli/abci-cli.go

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,9 @@ var (
4444
flagProve bool
4545

4646
// counter
47-
flagAddrC string
4847
flagSerial bool
4948

5049
// kvstore
51-
flagAddrD string
5250
flagPersist string
5351
)
5452

@@ -125,17 +123,14 @@ func addQueryFlags() {
125123
}
126124

127125
func addCounterFlags() {
128-
counterCmd.PersistentFlags().StringVarP(&flagAddrC, "addr", "", "tcp://0.0.0.0:46658", "listen address")
129126
counterCmd.PersistentFlags().BoolVarP(&flagSerial, "serial", "", false, "enforce incrementing (serial) transactions")
130127
}
131128

132129
func addDummyFlags() {
133-
dummyCmd.PersistentFlags().StringVarP(&flagAddrD, "addr", "", "tcp://0.0.0.0:46658", "listen address")
134130
dummyCmd.PersistentFlags().StringVarP(&flagPersist, "persist", "", "", "directory to use for a database")
135131
}
136132

137133
func addKVStoreFlags() {
138-
kvstoreCmd.PersistentFlags().StringVarP(&flagAddrD, "addr", "", "tcp://0.0.0.0:46658", "listen address")
139134
kvstoreCmd.PersistentFlags().StringVarP(&flagPersist, "persist", "", "", "directory to use for a database")
140135
}
141136

@@ -659,7 +654,7 @@ func cmdCounter(cmd *cobra.Command, args []string) error {
659654
logger := log.NewTMLogger(log.NewSyncWriter(os.Stdout))
660655

661656
// Start the listener
662-
srv, err := server.NewServer(flagAddrC, flagAbci, app)
657+
srv, err := server.NewServer(flagAddress, flagAbci, app)
663658
if err != nil {
664659
return err
665660
}
@@ -689,7 +684,7 @@ func cmdKVStore(cmd *cobra.Command, args []string) error {
689684
}
690685

691686
// Start the listener
692-
srv, err := server.NewServer(flagAddrD, flagAbci, app)
687+
srv, err := server.NewServer(flagAddress, flagAbci, app)
693688
if err != nil {
694689
return err
695690
}

example/dummy/README.md

Lines changed: 0 additions & 4 deletions
This file was deleted.

example/dummy/helpers.go

Lines changed: 0 additions & 36 deletions
This file was deleted.

example/dummy/kvstore.go

Lines changed: 0 additions & 126 deletions
This file was deleted.

0 commit comments

Comments
 (0)