Commit Graph

3782 Commits

Author SHA1 Message Date
Ethan Frey
c87174875a Merge pull request #210 from tendermint/feature/40-overhaul-proofs
Overhaul proofs and light-client / basecoin separation
2017-08-04 21:19:41 +02:00
Ethan Frey
d6d6b75736 Renamed client/commands/proofs to client/commands/query 2017-08-04 20:50:36 +02:00
Ethan Frey
6dae258767 Lots of cleanup 2017-08-04 20:36:50 +02:00
Ethan Frey
0de3ecc741 Compiles and all tests pass - even IBC with new proofs 2017-08-04 20:02:23 +02:00
Alexis Sellier
831c9ae3ec Use Get/GetParsed everywhere 2017-08-04 19:21:40 +02:00
Alexis Sellier
391380bef2 Refactor app state query code 2017-08-04 19:21:40 +02:00
Ethan Frey
4df20df62a Fix meaning of --trust-node, pass tests 2017-08-04 18:51:16 +02:00
Ethan Frey
8d3576f0f7 Try to rip out tx stuff 2017-08-04 17:27:54 +02:00
Alexis Sellier
d629f27800 Use new proof method 2017-08-04 17:03:07 +02:00
Ethan Frey
18a1dd7f6b Migrate Bonsai to GetWithProof 2017-08-04 15:46:00 +02:00
Ethan Frey
f2adf3645a role cli uses hex for consistency 2017-08-04 14:44:28 +02:00
Ethan Frey
2113c9f884 Merge pull request #196 from tendermint/feature/184-overhaul-handler-interface
Feature/184 overhaul handler interface
2017-08-04 14:18:07 +02:00
Ethan Frey
640f06998a Moved all gas and payment values to uint64 to make sure we are safe here 2017-08-04 14:11:01 +02:00
Ethan Frey
2f4f875dd4 Cleanup from PR comments 2017-08-04 13:50:55 +02:00
Ethan Frey
21e2399fc4 Tested and fixed multiplexer, add more helpers 2017-08-03 21:41:24 +02:00
Ethan Frey
74070f1cac Add module tests for checktx return values 2017-08-03 21:41:24 +02:00
Ethan Frey
1715c0aeba Handlers and middlewares add gas prices 2017-08-03 21:41:24 +02:00
Ethan Frey
70fe2444ab Deduplicate validator changes in EndBlock and test this 2017-08-03 21:41:24 +02:00
Ethan Frey
ff658f0326 Reenable multiplexer 2017-08-03 21:41:24 +02:00
Ethan Frey
a46cb62272 Returns all validator changes from DeliverTx in EndBlock 2017-08-03 21:41:24 +02:00
Ethan Frey
37550ca91d Add InitValidate method for setup 2017-08-03 21:41:23 +02:00
Ethan Frey
4b69f1d5ba Rename SetOption to InitState 2017-08-03 21:41:23 +02:00
Ethan Frey
eb08136104 Fix all tests for CheckTx/DeliverTx split 2017-08-03 21:41:23 +02:00
Ethan Frey
cbfd2cd611 Make it all compile with new Deliver/CheckTx 2017-08-03 21:41:23 +02:00
Ethan Frey
cb4277f4b7 Change Handler interface 2017-08-03 21:41:23 +02:00
Ethan Frey
2f220701fe Merge pull request #207 from orijtech/handlers-allow-main-to-choose-which-handlers-to-use
cmd/baseserver, */rest: allow baseserver to choose which handlers to use
2017-08-03 20:20:15 +02:00
Emmanuel Odeke
ee5d22010a
cmd/baseserver, */rest: allow baseserver to choose which handlers to use
Make handlers easily configurable to use in cmd/baseserver/main.go.
This way client users can trivially change what functionality they'd
like.
It involves moving ServeCmd out of client/rest to */main.go
and lets client/rest become a bazaar for available mux.Router
registrars.

Updates #200
2017-08-03 11:41:51 -06:00
Ethan Frey
5d45c22690 Merge pull request #206 from tendermint/feature/fixup-store
Make state.Store / state.KVCache deterministic
2017-08-03 18:08:05 +02:00
Ethan Frey
e63f3bc2d9 Ensure deterministic ordering of keys when applying KVCache 2017-08-03 17:37:15 +02:00
Ethan Frey
7cf20ef70a Add test to enforce deteministic application of cache order 2017-08-03 17:37:15 +02:00
Ethan Frey
0b9be1069f Cleanup some todos 2017-08-03 17:37:15 +02:00
Ethan Frey
cdaee322bc Merge pull request #197 from orijtech/baseserver-repackaging
client/rest, modules/coin/rest: moved code around
2017-08-03 14:05:23 +02:00
Emmanuel Odeke
1a45755027 client/rest, modules/coin/rest: moved code around
After offline emails and a video call with @ethanfrey,
a goal was decided to move things around i.e:
- [X] Move /build/send and /query/account to modules/coin/rest

Due to that move, there is a lot of overlap between needed
code and utils so extracted common code to make
https://github.com/tendermint/tmlibs/pull/33
so make sure to pull in that commit into your tmlibs tree.

After code review feedback:
client/rest, modules/coin/rest: FoutputProof, PrepareSendTx helper

* Extract OutputProof to FoutputProof helper that can
be used in modules/coin/rest/handlers.go as proofs.FoutputProof
* Revert r.HandleFunc("/tx", doPostTx).Methods("POST") which
was erraneously deleted
* Use function signatures from "tendermint/tmblibs/common"
2017-08-02 12:57:29 -06:00
Ethan Frey
67f25f54ed Merge pull request #199 from tendermint/rm-gobasics
rm docs/go_basics.md, moved to /coding repo
2017-08-02 14:28:34 +02:00
Zach Ramsay
4ab913bc81 rm docs/go_basics.md, moved to /coding repo 2017-08-02 14:13:11 +02:00
Zach
a91f75bcde Merge pull request #195 from tendermint/zramsay-patch-1
update readme, fixes #189
2017-08-01 15:11:04 -04:00
Zach
34e6789d0c update readme, fixes #189 2017-07-29 22:56:54 -04:00
Ethan Frey
0a7b8a3e96 Merge pull request #188 from tendermint/feature/blind-trust
Add a flag to skip all query proofs
2017-07-29 17:48:32 -04:00
Ethan Frey
75181a78c3 Hide trust flag 2017-07-29 17:41:13 -04:00
Ethan Frey
4652779a3d Fix up flag handling 2017-07-29 17:23:21 -04:00
Ethan Frey
8dd2371cc5 Don't require init when --trust-node is given 2017-07-29 17:23:21 -04:00
Ethan Frey
b98bfc01ae Add --trust-node flag to cli to skip proofs on queries 2017-07-29 17:23:21 -04:00
Ethan Frey
f0e2227ada Use password as key, allow 3 letter names 2017-07-29 17:16:24 -04:00
Ethan Frey
14bb65457c Add cli tests for rest 2017-07-29 17:11:23 -04:00
Ethan Frey
b08b63089b Merge pull request #190 from orijtech/rest-server
client/rest, cmd/baseserver: started a basecoin REST client
2017-07-29 16:25:58 -04:00
Emmanuel Odeke
7c28374c38 Merge branch 'rest-server-query' into rest-server 2017-07-29 13:25:29 -06:00
Emmanuel Odeke
c0743af51c
client/rest: implement /query/account/{signature}
Allows us to query account balance from the blockchain
for example:
/query/account/sigs:BDADF167E6CF2CDF2D621E590FF1FED2787A40E0
2017-07-29 13:20:51 -06:00
Emmanuel Odeke
f8c302ae45 Merge branch 'tendermint-rest-server-comments' into rest-server 2017-07-29 12:05:59 -06:00
Ethan Frey
de82c03804 Fixed up business logic in build/send 2017-07-29 09:28:45 -04:00
Emmanuel Odeke
d4ab79ece0
client/rest, cmd/baseserver: started a basecoin REST client
```shell
$ go get -u -v github.com/tendermint/basecoin/cmd/baseserver
$ baseserver init
$ baseserver serve
```
A server that can be ran by default on port 8998
otherwise one can specify the port using flag `--port` like this:
```shell
$ baseserver serve --port 9999
```
to serve it on port 9999, accessible at http://localhost:9999

Implemented:
- [X] /keys POST -- generate a new key
- [X] /keys GET  -- list all keys
- [X] /keys/{name}  DELETE-- delete a named key
- [X] /keys/{name}  GET -- get a named key
- [X] /keys/{name}  POST, PUT -- update a named key
- [X] /sign POST -- sign a transaction
- [X] /build/send POST -- send money from one actor to another. However,
  still needs testing and verification of output
- [X] /tx POST -- post a transaction to the blockchain. However, still
  needs testing and verification of output

This base code to get the handlers starters was adapted from:
* https://github.com/tendermint/go-crypto/blob/master/keys/server
* https://github.com/tendermint/basecoin/blob/unstable/client/commands/proxy/root.go

Updates #186
2017-07-29 04:12:24 -06:00