1
0
mirror of https://github.com/fluencelabs/tendermint synced 2025-07-09 01:21:36 +00:00
Files
.circleci
.github
DOCKER
abci
benchmarks
blockchain
cmd
config
consensus
crypto
docs
evidence
libs
autofile
bech32
cli
clist
common
db
remotedb
grpcdb
client.go
doc.go
example_test.go
server.go
proto
doc.go
remotedb.go
remotedb_test.go
test.crt
test.key
LICENSE.md
README.md
backend_test.go
c_level_db.go
c_level_db_test.go
common_test.go
db.go
db_test.go
debug_db.go
fsdb.go
go_level_db.go
go_level_db_test.go
mem_batch.go
mem_db.go
prefix_db.go
prefix_db_test.go
types.go
util.go
util_test.go
events
flowrate
log
pubsub
test
version
.editorconfig
.gitignore
CHANGELOG.md
README.md
circle.yml
test.sh
lite
mempool
networks
node
p2p
privval
proxy
rpc
scripts
state
test
tools
types
version
.editorconfig
.gitignore
CHANGELOG.md
CHANGELOG_PENDING.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
Gopkg.lock
Gopkg.toml
LICENSE
Makefile
README.md
ROADMAP.md
SECURITY.md
UPGRADING.md
Vagrantfile
appveyor.yml
codecov.yml
docker-compose.yml
tendermint/libs/db/remotedb/grpcdb/example_test.go

53 lines
1.2 KiB
Go
Raw Normal View History

package grpcdb_test
import (
"bytes"
"context"
"log"
2018-07-01 22:36:49 -04:00
grpcdb "github.com/tendermint/tendermint/libs/db/remotedb/grpcdb"
protodb "github.com/tendermint/tendermint/libs/db/remotedb/proto"
)
func Example() {
addr := ":8998"
2018-05-07 23:16:06 +02:00
cert := "server.crt"
key := "server.key"
go func() {
2018-05-07 23:16:06 +02:00
if err := grpcdb.ListenAndServe(addr, cert, key); err != nil {
log.Fatalf("BindServer: %v", err)
}
}()
2018-05-07 23:16:06 +02:00
client, err := grpcdb.NewClient(addr, cert)
if err != nil {
log.Fatalf("Failed to create grpcDB client: %v", err)
}
ctx := context.Background()
// 1. Initialize the DB
in := &protodb.Init{
Type: "leveldb",
Name: "grpc-uno-test",
Dir: ".",
}
if _, err := client.Init(ctx, in); err != nil {
log.Fatalf("Init error: %v", err)
}
// 2. Now it can be used!
query1 := &protodb.Entity{Key: []byte("Project"), Value: []byte("Tmlibs-on-gRPC")}
if _, err := client.SetSync(ctx, query1); err != nil {
log.Fatalf("SetSync err: %v", err)
}
query2 := &protodb.Entity{Key: []byte("Project")}
read, err := client.Get(ctx, query2)
if err != nil {
log.Fatalf("Get err: %v", err)
}
if g, w := read.Value, []byte("Tmlibs-on-gRPC"); !bytes.Equal(g, w) {
log.Fatalf("got= (%q ==> % X)\nwant=(%q ==> % X)", g, g, w, w)
}
}