Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 0.6.0 #116

Merged
merged 82 commits into from
Jun 23, 2017
Merged
Show file tree
Hide file tree
Changes from 38 commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
016d7e5
Merge tag 'v0.5.2' into develop
melekes Jun 2, 2017
1f34535
fix broken build script (it relies on make tools)
melekes Jun 2, 2017
2655bf8
dist: dont mkdir in container
ebuchman Jun 2, 2017
e242345
fix panic when genesis file does not include app_options (Fixes #101)
melekes Jun 5, 2017
7624c66
Merge pull request #102 from tendermint/bugfix/101-genesis-without-ap…
ebuchman Jun 5, 2017
25e7a79
replace basecli state presenters with cmds
rigelrozanski Jun 14, 2017
863e372
Update deps to latest light-client pr, breaking changes
ethanfrey Jun 15, 2017
65837cf
Clean up queries, part 1
ethanfrey Jun 15, 2017
66ec2f2
Port sendtx to new format
ethanfrey Jun 15, 2017
8f67b6b
Got counter tx working, needs testing
ethanfrey Jun 15, 2017
282a157
Update to use new helper methods, less code dups
ethanfrey Jun 15, 2017
66c9010
Starting bash cli tests
ethanfrey Jun 15, 2017
cfe13e9
Cleanup proof format, complete basic cli tests
ethanfrey Jun 15, 2017
6e390a6
Updated to newest of develop
ethanfrey Jun 15, 2017
1a1d5d4
Merge pull request #107 from tendermint/lcquery
ethanfrey Jun 15, 2017
3c18c33
Fix basecli --chainid to --chain-id
ethanfrey Jun 15, 2017
e356fc1
makefile cleanup
rigelrozanski Jun 15, 2017
226546e
circle bash integration
rigelrozanski Jun 15, 2017
789ebad
pulled out common helpers, prepare to support ibc
ethanfrey Jun 15, 2017
9341b8b
Support other binaries
ethanfrey Jun 15, 2017
81d6d24
Added counter tests as well
ethanfrey Jun 15, 2017
ad17fcf
makefile cleanup
rigelrozanski Jun 15, 2017
9c8ccef
reorganize basecli appTx commands
rigelrozanski Jun 16, 2017
985db9c
Merge pull request #111 from tendermint/apptxReorg
ethanfrey Jun 16, 2017
75425b9
Update CHANGELOG for some of the 0.6 enhancements
ethanfrey Jun 16, 2017
4d41378
Cache shunit2 in Makefile, so we don't wget everytime
ethanfrey Jun 16, 2017
2f3c700
Create new command, countercli, removed counter from basecli
ethanfrey Jun 16, 2017
526e213
Fix cli tests for new countercli app
ethanfrey Jun 16, 2017
fb7fc78
clean up cli tests
ethanfrey Jun 16, 2017
4606fc8
Add ibc test scaffolding
ethanfrey Jun 16, 2017
cba5523
Clear output of test failures in ibc
ethanfrey Jun 16, 2017
33d4f93
basecli sendtx handles chain/addr format
ethanfrey Jun 16, 2017
6eac364
Complete ibc tests with "basecoin ibc register" and "basecoin relay"
ethanfrey Jun 16, 2017
f75ebca
Fix Makefile, remove no longer needed demo!
ethanfrey Jun 16, 2017
b15f882
Ripped out query, tx send, account, keys, and more
ethanfrey Jun 16, 2017
9bf34cb
Removed many more unneeded commands
ethanfrey Jun 16, 2017
22918ba
Remove example-plugin code, need to fix docs
ethanfrey Jun 16, 2017
6c01988
Merge pull request #115 from tendermint/feature/remove-client-from-ba…
ethanfrey Jun 16, 2017
d7cddb2
Cleaned up comments
ethanfrey Jun 16, 2017
b63f8bd
Move relay to basecoin relay start
ethanfrey Jun 16, 2017
cb075bb
Working with relay init
ethanfrey Jun 16, 2017
a57e2d3
Remove remnants of basecoin tx as ibc functions are now under relay
ethanfrey Jun 16, 2017
6658421
Cleanup tests a bit
ethanfrey Jun 16, 2017
4b65d8b
Update changelog notes for relay update
ethanfrey Jun 16, 2017
a20b640
Better error output when setup fails
ethanfrey Jun 16, 2017
7dad89b
doc revisit basecoin-basics.md
rigelrozanski Jun 18, 2017
24bd0f5
update docs, move counter
rigelrozanski Jun 18, 2017
06c854f
"make fresh" when things are getting stale
ethanfrey Jun 19, 2017
1e76d92
Supress ugly kill message with disown - bash magick
ethanfrey Jun 19, 2017
9bb3493
Ran through the docs, more cleanup, everything except ibc ready
ethanfrey Jun 19, 2017
0b7b639
Rewrote ibc guide for basecli and relay
ethanfrey Jun 19, 2017
83346f5
Merge pull request #120 from tendermint/docs
ethanfrey Jun 19, 2017
f204144
Fix up ``` ticks
ethanfrey Jun 19, 2017
a3bc96c
basecoin init takes an account address
ebuchman Jun 21, 2017
7b595b3
user ErrNoData from light-client
ebuchman Jun 21, 2017
9b0f4fc
docs: update basics and plugins
ebuchman Jun 21, 2017
105cdba
cmd/commands -> cmd/basecoin/commands
ebuchman Jun 21, 2017
e671ce6
bring back key.json. ibc guide edits
ebuchman Jun 21, 2017
43378a9
fix up basecli readme and basecoin-tool.md
ebuchman Jun 21, 2017
05e23ed
update changelog
ebuchman Jun 21, 2017
824050a
basecoin init --chain-id
ebuchman Jun 21, 2017
4cabad0
Minor cleanup
ethanfrey Jun 21, 2017
22057b9
Merge pull request #128 from tendermint/ux-edits
ethanfrey Jun 21, 2017
a78a24b
bash test cleanup
rigelrozanski Jun 20, 2017
dcb4a40
quick setup/tear-down
rigelrozanski Jun 21, 2017
3b66483
Fix up one comment
ethanfrey Jun 21, 2017
662c632
Merge pull request #122 from tendermint/rebash
ethanfrey Jun 21, 2017
fd28e4e
Added tests on handling restarts well, cleaned up common
ethanfrey Jun 20, 2017
0fc0a62
Added restart cli test to Makefile
ethanfrey Jun 20, 2017
f249748
Update to latest merkleeyes:fix-restart-height branch
ethanfrey Jun 21, 2017
0b81676
abci handshake
ebuchman Jun 21, 2017
682f9ec
Cleanup after rebase
ethanfrey Jun 21, 2017
4ed03ac
Merge pull request #129 from tendermint/bugfix/106-wrong-height-on-re…
ethanfrey Jun 21, 2017
aa18ff4
Update go-crypto with keys seedphrase, better testable password prompts
ethanfrey Jun 21, 2017
e94ea20
Super rough summary of key recovery - please complete
ethanfrey Jun 21, 2017
da38448
docs: ibc guide all in one terminal
ebuchman Jun 21, 2017
c9b0290
Add roadmap to repo
ethanfrey Jun 22, 2017
5d147d1
Add thoughts on a release process
ethanfrey Jun 22, 2017
f5e96a8
Bump version to 0.6.0, add to basecli command
ethanfrey Jun 22, 2017
19999ea
ibc: UpdateChain fix blockid
ebuchman Jun 23, 2017
9627b7c
update changelog
ebuchman Jun 23, 2017
3747f23
Add basecli to packaging script
ethanfrey Jun 23, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
*.swp
vendor
merkleeyes.db
build
shunit2
27 changes: 27 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,32 @@
# Changelog

## 0.6.0 (???)

Make the basecli command the only way to use client-side, to enforce best
security practices. Lots of enhancements to get it up to production quality.

BREAKING CHANGES:
- basecli
- `basecli proof state get` -> `basecli query key`
- `basecli proof tx get` -> `basecli query tx`
- `basecli proof state get --app=account` -> `basecli query account`
- use `--chain-id` not `--chainid` for consistency
- update to use `--trace` not `--debug` for stack traces on errors
- complete overhaul on how tx and query subcommands are added. (see counter or trackomatron for examples)
- no longer supports counter app (see new countercli)
- basecoin
- removed all client side functionality from it (use basecli now for proofs)

ENHANCEMENTS:
- intergrates tendermint 0.10.0 (not the rc-2, but the real thing)
- commands return error code (1) on failure for easier script testing
- add `reset_all` to basecli, and never delete keys on `init`
- new shutil based unit tests, with better coverage of the cli actions

BUG FIXES:
- no longer panics on missing app_options in genesis (thanks, anton)


## 0.5.2 (June 2, 2017)

BUG FIXES:
Expand Down
41 changes: 26 additions & 15 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
all: test install
GOTOOLS = github.com/mitchellh/gox \
github.com/Masterminds/glide
PACKAGES=$(shell go list ./... | grep -v '/vendor/')

NOVENDOR = go list ./... | grep -v /vendor/
all: get_vendor_deps install test

build:
go build ./cmd/...
Expand All @@ -9,28 +11,37 @@ install:
go install ./cmd/...

dist:
@ sudo bash scripts/dist.sh
@ bash scripts/publish.sh
@bash scripts/dist.sh
@bash scripts/publish.sh

test:
go test `${NOVENDOR}`
#go run tests/tendermint/*.go
test: test_unit test_cli

get_deps:
go get -d ./...
test_unit:
go test $(PACKAGES)
#go run tests/tendermint/*.go

update_deps:
go get -d -u ./...
test_cli: tests/cli/shunit2
# sudo apt-get install jq
@./tests/cli/basictx.sh
@./tests/cli/counter.sh
@./tests/cli/ibc.sh

get_vendor_deps:
go get github.com/Masterminds/glide
get_vendor_deps: tools
glide install

build-docker:
docker run -it --rm -v "$(PWD):/go/src/github.com/tendermint/basecoin" -w "/go/src/github.com/tendermint/basecoin" -e "CGO_ENABLED=0" golang:alpine go build ./cmd/basecoin
docker run -it --rm -v "$(PWD):/go/src/github.com/tendermint/basecoin" -w \
"/go/src/github.com/tendermint/basecoin" -e "CGO_ENABLED=0" golang:alpine go build ./cmd/basecoin
docker build -t "tendermint/basecoin" .

tests/cli/shunit2:
wget "https://raw.githubusercontent.com/kward/shunit2/master/source/2.1/src/shunit2" \
-q -O tests/cli/shunit2

tools:
go get -u -v $(GOTOOLS)

clean:
@rm -f ./basecoin

.PHONY: all build install test get_deps update_deps get_vendor_deps build-docker clean
.PHONY: all build install test test_cli test_unit get_vendor_deps build-docker clean
5 changes: 5 additions & 0 deletions app/genesis.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ func (app *Basecoin) LoadGenesis(path string) error {
r := app.SetOption(kv.Key, kv.Value)
app.logger.Info("Done setting Plugin key-value pair via SetOption", "result", r, "k", kv.Key, "v", kv.Value)
}

return nil
}

Expand Down Expand Up @@ -71,6 +72,10 @@ func loadGenesis(filePath string) (*FullGenesisDoc, error) {
return nil, errors.Wrap(err, "unmarshaling genesis file")
}

if genDoc.AppOptions == nil {
genDoc.AppOptions = new(GenesisDoc)
}

pluginOpts, err := parseGenesisList(genDoc.AppOptions.PluginOptions)
if err != nil {
return nil, err
Expand Down
9 changes: 8 additions & 1 deletion app/genesis_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,21 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/tendermint/basecoin/types"
"github.com/tendermint/go-crypto"
crypto "github.com/tendermint/go-crypto"
eyescli "github.com/tendermint/merkleeyes/client"
cmn "github.com/tendermint/tmlibs/common"
)

const genesisFilepath = "./testdata/genesis.json"
const genesisAcctFilepath = "./testdata/genesis2.json"

func TestLoadGenesisDoNotFailIfAppOptionsAreMissing(t *testing.T) {
eyesCli := eyescli.NewLocalClient("", 0)
app := NewBasecoin(eyesCli)
err := app.LoadGenesis("./testdata/genesis3.json")
require.Nil(t, err, "%+v", err)
}

func TestLoadGenesis(t *testing.T) {
assert, require := assert.New(t), require.New(t)

Expand Down
3 changes: 3 additions & 0 deletions app/testdata/genesis3.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"chain_id": "foo_bar_chain"
}
3 changes: 1 addition & 2 deletions circle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,8 @@ dependencies:

test:
override:
- "cd $REPO && glide install && go install ./cmd/basecoin"
- "cd $REPO && glide install && go install ./cmd/..."
- ls $GOPATH/bin
- "cd $REPO && make test"
- "cd $REPO/demo && bash start.sh"


2 changes: 1 addition & 1 deletion cmd/basecli/LIGHT_NODE.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Just initialize your client with the proper validator set as in the [README](REA

```
$ export BCHOME=~/.lightnode
$ basecli init --node tcp://<host>:<port> --chainid <chain>
$ basecli init --node tcp://<host>:<port> --chain-id <chain>
```

## Running
Expand Down
2 changes: 1 addition & 1 deletion cmd/basecli/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ $ basecoin start
## Connect your basecli the first time

```
% basecli init --chainid test_chain_id --node tcp://localhost:46657
% basecli init --chain-id test_chain_id --node tcp://localhost:46657
```

## Check your balances...
Expand Down
Loading