Commit Graph

830 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