github.com/tendermint/tmlibs@v0.9.0/db/remotedb/grpcdb/doc.go (about)

     1  /*
     2  grpcdb is the distribution of Tendermint's db.DB instances using
     3  the gRPC transport to decouple local db.DB usages from applications,
     4  to using them over a network in a highly performant manner.
     5  
     6  grpcdb allows users to initialize a database's server like
     7  they would locally and invoke the respective methods of db.DB.
     8  
     9  Most users shouldn't use this package, but should instead use
    10  remotedb. Only the lower level users and database server deployers
    11  should use it, for functionality such as:
    12  
    13  	ln, err := net.Listen("tcp", "0.0.0.0:0")
    14  	srv := grpcdb.NewServer()
    15  	defer srv.Stop()
    16  	go func() {
    17  		if err := srv.Serve(ln); err != nil {
    18  			t.Fatalf("BindServer: %v", err)
    19  		}
    20  	}()
    21  
    22  or
    23  	addr := ":8998"
    24  	cert := "server.crt"
    25  	key := "server.key"
    26  	go func() {
    27  		if err := grpcdb.ListenAndServe(addr, cert, key); err != nil {
    28  			log.Fatalf("BindServer: %v", err)
    29  		}
    30  	}()
    31  */
    32  package grpcdb