StoreApp just the queries, BaseApp with handler/ticker
Ticker now defined top level, as an interface, with context
Name for info taken as parameter, start cmd uses commandline name
Cleaner compisition of apps.
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
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"
```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