tendermint/libs/db/remotedb/grpcdb/client.go

31 lines
771 B
Go
Raw Normal View History

package grpcdb
import (
"google.golang.org/grpc"
2018-05-07 14:16:06 -07:00
"google.golang.org/grpc/credentials"
2018-07-01 19:36:49 -07:00
protodb "github.com/tendermint/tendermint/libs/db/remotedb/proto"
)
// Security defines how the client will talk to the gRPC server.
type Security uint
const (
Insecure Security = iota
Secure
)
// NewClient creates a gRPC client connected to the bound gRPC server at serverAddr.
// Use kind to set the level of security to either Secure or Insecure.
2018-05-08 06:45:49 -07:00
func NewClient(serverAddr, serverCert string) (protodb.DBClient, error) {
2018-05-07 14:16:06 -07:00
creds, err := credentials.NewClientTLSFromFile(serverCert, "")
if err != nil {
return nil, err
}
2018-05-07 14:16:06 -07:00
cc, err := grpc.Dial(serverAddr, grpc.WithTransportCredentials(creds))
if err != nil {
return nil, err
}
return protodb.NewDBClient(cc), nil
}