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

Commit

Permalink
Merge pull request #261 from tendermint/release/v0.11.0
Browse files Browse the repository at this point in the history
Release/v0.11.0
  • Loading branch information
ebuchman authored Jun 6, 2018
2 parents cd24e92 + 084f2e5 commit ebee2fe
Show file tree
Hide file tree
Showing 26 changed files with 800 additions and 964 deletions.
36 changes: 27 additions & 9 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:
paths:
- /go/src/github.com/tendermint/abci

test_integration:
test_apps:
<<: *defaults
steps:
- attach_workspace:
Expand All @@ -56,10 +56,27 @@ jobs:
- restore_cache:
key: v1-tree-{{ .Environment.CIRCLE_SHA1 }}
- run:
name: Run integration tests
name: Run apps tests
command: |
find . -path ./vendor -prune -o -name "*.sock" -exec rm {} \;
bash tests/test.sh
export PATH="$GOBIN:$PATH"
bash tests/test_app/test.sh
# XXX: if this test fails, fix it and update the docs at:
# https://github.com/tendermint/tendermint/blob/develop/docs/abci-cli.rst
test_cli:
<<: *defaults
steps:
- attach_workspace:
at: /tmp/workspace
- restore_cache:
key: v1-pkg-cache
- restore_cache:
key: v1-tree-{{ .Environment.CIRCLE_SHA1 }}
- run:
name: Run cli tests
command: |
export PATH="$GOBIN:$PATH"
bash tests/test_cli/test.sh
test_cover:
<<: *defaults
Expand Down Expand Up @@ -111,11 +128,12 @@ workflows:
- test_cover:
requires:
- setup_dependencies
- test_integration:
requires:
- test_apps:
requires:
- setup_dependencies
- test_cli:
requires:
- setup_dependencies
- upload_coverage:
requires:
- test_integrations


- test_cover
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@ types/types.pb.go
*.sw[op]
abci-cli
coverage.txt
profile.out
24 changes: 24 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,29 @@
# Changelog

## 0.11.0

*TBD*

BREAKING CHANGES:

- [example/dummy] Remove. See example/kvstore
- [types] Upgrade many messages:
- RequestInitChain takes all fields from a Genesis file
- RequestBeginBlock provides a list of all validators and whether or not
they signed
- Header: remove some fields, add proposer
- BlockID, PartSetHeader: remove
- Validator: includes address
- PubKey: new message with `type` and `data`
- Evidence: add type and more fields

FEATURES:

- [types] Add some fields
- ResponseInitChain includes ConsensusParams and Validators
- ResponseBeginBlock includes tags
- ResponseEndBlock includes tags

## 0.10.3 (April 9, 2018)

IMPROVEMENTS:
Expand Down
20 changes: 16 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -82,9 +82,21 @@ test_race:
@echo "==> Running go test --race"
@go test -v -race $(PACKAGES)

test_integrations:
@bash test.sh

### three tests tested by Jenkins
test_cover:
@ bash tests/test_cover.sh

test_apps:
# test the counter using a go test script
@ bash tests/test_app/test.sh

test_cli:
# test the cli against the examples in the tutorial at:
# http://tendermint.readthedocs.io/projects/tools/en/master/abci-cli.html
#
# XXX: if this test fails, fix it and update the docs at:
# https://github.com/tendermint/tendermint/blob/develop/docs/abci-cli.rst
@ bash tests/test_cli/test.sh

########################################
### Formatting, linting, and vetting
Expand Down Expand Up @@ -159,4 +171,4 @@ devdoc_clean:
# To avoid unintended conflicts with file names, always add to .PHONY
# unless there is a reason not to.
# https://www.gnu.org/software/make/manual/html_node/Phony-Targets.html
.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
.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
30 changes: 18 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,28 @@
Blockchains are systems for multi-master state machine replication.
**ABCI** is an interface that defines the boundary between the replication engine (the blockchain),
and the state machine (the application).
By using a socket protocol, we enable a consensus engine running in one process
to manage an application state running in another.

For background information on ABCI, motivations, and tendermint, please visit [the documentation](http://tendermint.readthedocs.io/en/master/).
The two guides to focus on are the `Application Development Guide` and `Using ABCI-CLI`.
Using a socket protocol, a consensus engine running in one process
can manage an application state running in another.

Previously, the ABCI was referred to as TMSP.

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

## Specification

The [primary specification](https://github.com/tendermint/abci/blob/master/types/types.proto)
is made using Protocol Buffers. To build it, run
A detailed description of the ABCI methods and message types is contained in:

- [A prose specification](specification.md)
- [A protobuf file](https://github.com/tendermint/abci/blob/master/types/types.proto)
- [A Go interface](https://github.com/tendermint/abci/blob/master/types/application.go).

For more background information on ABCI, motivations, and tendermint, please visit [the documentation](http://tendermint.readthedocs.io/en/master/).
The two guides to focus on are the `Application Development Guide` and `Using ABCI-CLI`.


## Protocl Buffers

To compile the protobuf file, run:

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

For the specification as an interface in Go, see the
[types/application.go file](https://github.com/tendermint/abci/blob/master/types/application.go).

See the [spec file](specification.rst) for a detailed description of the message types.
## Install ABCI-CLI

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

```
go get github.com/tendermint/abci
Expand Down
9 changes: 2 additions & 7 deletions cmd/abci-cli/abci-cli.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,9 @@ var (
flagProve bool

// counter
flagAddrC string
flagSerial bool

// kvstore
flagAddrD string
flagPersist string
)

Expand Down Expand Up @@ -125,17 +123,14 @@ func addQueryFlags() {
}

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

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

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

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

// Start the listener
srv, err := server.NewServer(flagAddrC, flagAbci, app)
srv, err := server.NewServer(flagAddress, flagAbci, app)
if err != nil {
return err
}
Expand Down Expand Up @@ -689,7 +684,7 @@ func cmdKVStore(cmd *cobra.Command, args []string) error {
}

// Start the listener
srv, err := server.NewServer(flagAddrD, flagAbci, app)
srv, err := server.NewServer(flagAddress, flagAbci, app)
if err != nil {
return err
}
Expand Down
4 changes: 0 additions & 4 deletions example/dummy/README.md

This file was deleted.

36 changes: 0 additions & 36 deletions example/dummy/helpers.go

This file was deleted.

126 changes: 0 additions & 126 deletions example/dummy/kvstore.go

This file was deleted.

Loading

0 comments on commit ebee2fe

Please sign in to comment.