Categoryberty.tech/go-orbit-db
modulepackage
1.22.1
Repository: https://github.com/berty/go-orbit-db.git
Documentation: pkg.go.dev

# 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.16 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.17.3 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.

# Packages

accesscontroller is a package handling permissions for OrbitDB stores.
Package address is a package for managing OrbitDB addresses.
baseorbitdb package containing the base implementation of OrbitDB.
cache is a package defining the interface of cache factories.
events defines an event subscriber and dispatcher Deprecated: use EventBus instead.
iface package containing common structures and interfaces of orbitdb.
Package messagemarshaler is a package for marshal messages.
pubsub a publish subscribe client for IPFS PubSub.
stores registers constructors for OrbitDB stores.
tests is a package containing tests and tools for testing orbitdb.
utils contains functions that are useful in some context.

# Functions

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

# Type aliases

CreateDBOptions An alias of the type defined in the iface package.
CreateDocumentDBOptions An alias of the type defined in the iface package.
DetermineAddressOptions An alias of the type defined in the iface package.
DocumentStore An alias of the type defined in the iface package.
EventLogStore An alias of the type defined in the iface package.
IndexConstructor An alias of the type defined in the iface package.
KeyValueStore An alias of the type defined in the iface package.
NewOrbitDBOptions Options for a new OrbitDB instance.
OnWritePrototype An alias of the type defined in the iface package.
OrbitDB An alias of the type defined in the iface package.
Store An alias of the type defined in the iface package.
StoreConstructor An alias of the type defined in the iface package.
StoreIndex An alias of the type defined in the iface package.
StreamOptions An alias of the type defined in the iface package.