# README
go-orbit-db
🤝 Go version of orbit-db.
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 ofgithub.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.