README


go-orbit-db

🤝 Go version of orbit-db.

Code Factor Go Report Card GitHub version Coverage GoDoc

berty.techGitHub

A P2P Database on IPFS.

orbit-db is a distributed peer-to-peer database on IPFS. This project intends to provide a fully compatible port of the JavaScript version in Go.

The majority of this code was vastly derived from the JavaScript's orbit-db project.

Usage

See GoDoc.

Install

Constraints:

  • go-orbit-db currently only works with go1.14 and later
  • You need to use the canonical import: berty.tech/go-orbit-db instead of github.com/berty/go-orbit-db
  • If you have 410 gone errors, make sure that you use a reliable $GOPROXY or disable it completely

Example:

$ go version
go version go1.13.4 darwin/amd64
$ go get berty.tech/go-orbit-db
[...]
$

Licensing

go-orbit-db is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.

Expand ▾ Collapse ▴

Documentation

Overview

    orbitdb implements the OrbitDB interface

    Index

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    func NewOrbitDB

    func NewOrbitDB(ctx context.Context, i coreapi.CoreAPI, options *NewOrbitDBOptions) (iface.OrbitDB, error)

      NewOrbitDB Creates a new OrbitDB instance with default access controllers and store types

      Types

      type CreateDBOptions

      type CreateDBOptions = iface.CreateDBOptions

        CreateDBOptions An alias of the type defined in the iface package

        type DetermineAddressOptions

        type DetermineAddressOptions = iface.DetermineAddressOptions

          DetermineAddressOptions An alias of the type defined in the iface package

          type EventLogStore

          type EventLogStore = iface.EventLogStore

            EventLogStore An alias of the type defined in the iface package

            type IndexConstructor

            type IndexConstructor = iface.IndexConstructor

              IndexConstructor An alias of the type defined in the iface package

              type KeyValueStore

              type KeyValueStore = iface.KeyValueStore

                KeyValueStore An alias of the type defined in the iface package

                type NewOrbitDBOptions

                type NewOrbitDBOptions = baseorbitdb.NewOrbitDBOptions

                  NewOrbitDBOptions Options for a new OrbitDB instance

                  type OnWritePrototype

                  type OnWritePrototype = iface.OnWritePrototype

                    OnWritePrototype An alias of the type defined in the iface package

                    type OrbitDB

                    type OrbitDB = iface.OrbitDB

                      OrbitDB An alias of the type defined in the iface package

                      type Store

                      type Store = iface.Store

                        Store An alias of the type defined in the iface package

                        type StoreConstructor

                        type StoreConstructor = iface.StoreConstructor

                          StoreConstructor An alias of the type defined in the iface package

                          type StoreIndex

                          type StoreIndex = iface.StoreIndex

                            StoreIndex An alias of the type defined in the iface package

                            type StreamOptions

                            type StreamOptions = iface.StreamOptions

                              StreamOptions An alias of the type defined in the iface package

                              Source Files

                              Directories

                              Path Synopsis
                              accesscontroller is a package handling permissions for OrbitDB stores
                              accesscontroller is a package handling permissions for OrbitDB stores
                              ipfs
                              ipfs is an access controller
                              ipfs is an access controller
                              orbitdb
                              orbitdb is an access controller for OrbitDB stores
                              orbitdb is an access controller for OrbitDB stores
                              simple
                              simple is an access controller without any persistence
                              simple is an access controller without any persistence
                              utils
                              utils is a package containing tools related to access controllers
                              utils is a package containing tools related to access controllers
                              address is a package for managing OrbitDB addresses
                              address is a package for managing OrbitDB addresses
                              baseorbitdb package containing the base implementation of OrbitDB
                              baseorbitdb package containing the base implementation of OrbitDB
                              cache is a package defining the interface of cache factories
                              cache is a package defining the interface of cache factories
                              cacheleveldown
                              cacheleveldown is a package returning level db data stores for OrbitDB
                              cacheleveldown is a package returning level db data stores for OrbitDB
                              events defines an event subscriber and dispatcher
                              events defines an event subscriber and dispatcher
                              iface package containing common structures and interfaces of orbitdb
                              iface package containing common structures and interfaces of orbitdb
                              pubsub a publish subscribe client for IPFS PubSub
                              pubsub a publish subscribe client for IPFS PubSub
                              directchannel
                              directchannel
                              directchannel
                              oneonone
                              oneonone is a pubsub channel for communication between two peers
                              oneonone is a pubsub channel for communication between two peers
                              pubsubcoreapi
                              pubsubcoreapi pubsub helpers using IPFS CoreAPI
                              pubsubcoreapi pubsub helpers using IPFS CoreAPI
                              pubsubraw
                              pubsubraw pubsub helpers using IPFS Golang implementation
                              pubsubraw pubsub helpers using IPFS Golang implementation
                              stores registers constructors for OrbitDB stores
                              stores registers constructors for OrbitDB stores
                              basestore
                              basestore defines a set of operations common to the different store types
                              basestore defines a set of operations common to the different store types
                              eventlogstore
                              eventlogstore an event log store for OrbitDB
                              eventlogstore an event log store for OrbitDB
                              kvstore
                              kvstore a key value store for OrbitDB
                              kvstore a key value store for OrbitDB
                              operation
                              operation a serializable operation that can be appended to IPFS log
                              operation a serializable operation that can be appended to IPFS log
                              replicator
                              replicator is a package managing the replication of data among peers replicator the replication logic for an OrbitDB store
                              replicator is a package managing the replication of data among peers replicator the replication logic for an OrbitDB store
                              tests is a package containing tests and tools for testing orbitdb
                              tests is a package containing tests and tools for testing orbitdb
                              utils contains functions that are useful in some context
                              utils contains functions that are useful in some context
                              internal