You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 lines
1.2 KiB

  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. remotedb's RemoteDB implements db.DB so can be used normally
  10. like other databases. One just has to explicitly connect to the
  11. remote database with a client setup such as:
  12. client, err := remotedb.NewRemoteDB(addr, cert)
  13. // Make sure to invoke InitRemote!
  14. if err := client.InitRemote(&remotedb.Init{Name: "test-remote-db", Type: "leveldb"}); err != nil {
  15. log.Fatalf("Failed to initialize the remote db")
  16. }
  17. client.Set(key1, value)
  18. gv1 := client.SetSync(k2, v2)
  19. client.Delete(k1)
  20. gv2 := client.Get(k1)
  21. for itr := client.Iterator(k1, k9); itr.Valid(); itr.Next() {
  22. ik, iv := itr.Key(), itr.Value()
  23. ds, de := itr.Domain()
  24. }
  25. stats := client.Stats()
  26. if !client.Has(dk1) {
  27. client.SetSync(dk1, dv1)
  28. }
  29. */
  30. package remotedb