cosmos-sdk/cmd/basecoin/main.go

65 lines
1.5 KiB
Go
Raw Normal View History

package main
import (
"os"
2017-07-19 01:51:36 -07:00
"github.com/tendermint/tmlibs/cli"
2017-07-21 09:25:30 -07:00
"github.com/tendermint/basecoin"
2017-06-20 21:26:21 -07:00
"github.com/tendermint/basecoin/cmd/basecoin/commands"
2017-07-21 09:25:30 -07:00
"github.com/tendermint/basecoin/modules/auth"
"github.com/tendermint/basecoin/modules/base"
"github.com/tendermint/basecoin/modules/coin"
"github.com/tendermint/basecoin/modules/fee"
"github.com/tendermint/basecoin/modules/ibc"
"github.com/tendermint/basecoin/modules/nonce"
"github.com/tendermint/basecoin/modules/roles"
"github.com/tendermint/basecoin/stack"
2017-01-28 18:12:58 -08:00
)
2017-07-21 09:25:30 -07:00
// BuildApp constructs the stack we want to use for this app
func BuildApp(feeDenom string) basecoin.Handler {
// use the default stack
c := coin.NewHandler()
r := roles.NewHandler()
i := ibc.NewHandler()
return stack.New(
base.Logger{},
stack.Recovery{},
auth.Signatures{},
base.Chain{},
stack.Checkpoint{OnCheck: true},
nonce.ReplayCheck{},
).
IBC(ibc.NewMiddleware()).
Apps(
roles.NewMiddleware(),
fee.NewSimpleFeeMiddleware(coin.Coin{feeDenom, 0}, fee.Bank),
stack.Checkpoint{OnDeliver: true},
).
Dispatch(
stack.WrapHandler(c),
stack.WrapHandler(r),
stack.WrapHandler(i),
)
}
func main() {
2017-06-26 05:28:56 -07:00
rt := commands.RootCmd
// require all fees in mycoin - change this in your app!
2017-07-21 09:25:30 -07:00
commands.Handler = BuildApp("mycoin")
2017-07-04 04:43:25 -07:00
2017-06-26 05:28:56 -07:00
rt.AddCommand(
commands.InitCmd,
commands.StartCmd,
2017-07-05 03:57:52 -07:00
//commands.RelayCmd,
2017-03-13 17:20:07 -07:00
commands.UnsafeResetAllCmd,
commands.VersionCmd,
)
2017-06-26 05:28:56 -07:00
cmd := cli.PrepareMainCmd(rt, "BC", os.ExpandEnv("$HOME/.basecoin"))
2017-07-05 03:57:52 -07:00
cmd.Execute()
}