github.com/tendermint/tmlibs@v0.9.0/db/remotedb/doc.go (about) 1 /* 2 remotedb is a package for connecting to distributed Tendermint db.DB 3 instances. The purpose is to detach difficult deployments such as 4 CLevelDB that requires gcc or perhaps for databases that require 5 custom configurations such as extra disk space. It also eases 6 the burden and cost of deployment of dependencies for databases 7 to be used by Tendermint developers. Most importantly it is built 8 over the high performant gRPC transport. 9 10 remotedb's RemoteDB implements db.DB so can be used normally 11 like other databases. One just has to explicitly connect to the 12 remote database with a client setup such as: 13 14 client, err := remotedb.NewInsecure(addr) 15 // Make sure to invoke InitRemote! 16 if err := client.InitRemote(&remotedb.Init{Name: "test-remote-db", Type: "leveldb"}); err != nil { 17 log.Fatalf("Failed to initialize the remote db") 18 } 19 20 client.Set(key1, value) 21 gv1 := client.SetSync(k2, v2) 22 23 client.Delete(k1) 24 gv2 := client.Get(k1) 25 26 for itr := client.Iterator(k1, k9); itr.Valid(); itr.Next() { 27 ik, iv := itr.Key(), itr.Value() 28 ds, de := itr.Domain() 29 } 30 31 stats := client.Stats() 32 33 if !client.Has(dk1) { 34 client.SetSync(dk1, dv1) 35 } 36 */ 37 package remotedb