|
|
- package main
-
- import (
- "flag"
- "os"
-
- "github.com/tendermint/abci/example/dummy"
- "github.com/tendermint/abci/server"
- "github.com/tendermint/abci/types"
- cmn "github.com/tendermint/tmlibs/common"
- "github.com/tendermint/tmlibs/log"
- )
-
- func main() {
-
- addrPtr := flag.String("addr", "tcp://0.0.0.0:46658", "Listen address")
- abciPtr := flag.String("abci", "socket", "socket | grpc")
- persistencePtr := flag.String("persist", "", "directory to use for a database")
- flag.Parse()
-
- logger := log.NewTMLogger(log.NewSyncWriter(os.Stdout))
-
- // Create the application - in memory or persisted to disk
- var app types.Application
- if *persistencePtr == "" {
- app = dummy.NewDummyApplication()
- } else {
- app = dummy.NewPersistentDummyApplication(*persistencePtr)
- app.(*dummy.PersistentDummyApplication).SetLogger(logger.With("module", "dummy"))
- }
-
- // Start the listener
- srv, err := server.NewServer(*addrPtr, *abciPtr, app)
- if err != nil {
- logger.Error(err.Error())
- os.Exit(1)
- }
- srv.SetLogger(logger.With("module", "abci-server"))
- if _, err := srv.Start(); err != nil {
- logger.Error(err.Error())
- os.Exit(1)
- }
-
- // Wait forever
- cmn.TrapSignal(func() {
- // Cleanup
- srv.Stop()
- })
-
- }
|