mirror of
https://github.com/tendermint/tendermint.git
synced 2026-02-03 18:42:14 +00:00
Adds the `FinalizeBlock` method which replaces `BeginBlock`, `DeliverTx`, and `EndBlock` in a single call.
32 lines
782 B
Go
32 lines
782 B
Go
/*
|
|
Package server is used to start a new ABCI server.
|
|
|
|
It contains two server implementation:
|
|
- gRPC server
|
|
- socket server
|
|
*/
|
|
package server
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/tendermint/tendermint/abci/types"
|
|
"github.com/tendermint/tendermint/libs/service"
|
|
)
|
|
|
|
// NewServer is a utility function for out of process applications to set up either a socket or
|
|
// grpc server that can listen to requests from the equivalent Tendermint client
|
|
func NewServer(protoAddr, transport string, app types.Application) (service.Service, error) {
|
|
var s service.Service
|
|
var err error
|
|
switch transport {
|
|
case "socket":
|
|
s = NewSocketServer(protoAddr, app)
|
|
case "grpc":
|
|
s = NewGRPCServer(protoAddr, app)
|
|
default:
|
|
err = fmt.Errorf("unknown server type %s", transport)
|
|
}
|
|
return s, err
|
|
}
|