mirror of
https://github.com/fluencelabs/tendermint
synced 2025-04-25 06:42:16 +00:00
* not related to linter: remove obsolete constants: - `Insecure` and `Secure` and type `Security` are not used anywhere * not related to linter: update example - NewInsecure was deleted; change example to NewRemoteDB * address: Binds to all network interfaces (gosec): - bind to localhost instead of 0.0.0.0 - regenerate test key and cert for this purpose (was valid for ::) and otherwise we would see: transport: authentication handshake failed: x509: certificate is valid for ::, not 127.0.0.1\" (used https://github.com/google/keytransparency/blob/master/scripts/gen_server_keys.sh to regenerate certs) * use sha256 in tests instead of md5; time difference is negligible * nolint usage of math/rand in test and add comment on its import - crypto/rand is slower and we do not need sth more secure in tests * enable linter in circle-ci * another nolint math/rand in test * replace another occurrence of md5 * consistent comment about importing math/rand
23 lines
641 B
Go
23 lines
641 B
Go
package grpcdb
|
|
|
|
import (
|
|
"google.golang.org/grpc"
|
|
"google.golang.org/grpc/credentials"
|
|
|
|
protodb "github.com/tendermint/tendermint/libs/db/remotedb/proto"
|
|
)
|
|
|
|
// 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.
|
|
func NewClient(serverAddr, serverCert string) (protodb.DBClient, error) {
|
|
creds, err := credentials.NewClientTLSFromFile(serverCert, "")
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
cc, err := grpc.Dial(serverAddr, grpc.WithTransportCredentials(creds))
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return protodb.NewDBClient(cc), nil
|
|
}
|