Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Environment ¶
type Environment struct { // Path to the IPFS repo. Repo string // The plugin's config, if specified in the // Plugins.Plugins["plugin-name"].Config field of the user's go-ipfs // config. See docs/plugins.md for details. // // This is an arbitrary JSON-like object unmarshaled into an interface{} // according to https://golang.org/pkg/encoding/json/#Unmarshal. Config interface{} }
Environment is the environment passed into the plugin on init.
type Plugin ¶
type Plugin interface { // Name should return unique name of the plugin Name() string // Version returns current version of the plugin Version() string // Init is called once when the Plugin is being loaded // The plugin is passed an environment containing the path to the // (possibly uninitialized) IPFS repo and the plugin's config. Init(env *Environment) error }
Plugin is the base interface for all kinds of go-ipfs plugins It will be included in interfaces of different Plugins
Optionally, Plugins can implement io.Closer if they want to have a termination step when unloading.
type PluginDaemon ¶
PluginDaemon is an interface for daemon plugins. These plugins will be run on the daemon and will be given access to an implementation of the CoreAPI.
type PluginDaemonInternal ¶
PluginDaemonInternal is an interface for daemon plugins. These plugins will be run on the daemon and will be given a direct access to the IpfsNode.
Note: PluginDaemonInternal is considered internal and no guarantee is made concerning the stability of its API. If you can, use PluginAPI instead.
type PluginDatastore ¶
type PluginDatastore interface { Plugin DatastoreTypeName() string DatastoreConfigParser() fsrepo.ConfigFromMap }
PluginDatastore is an interface that can be implemented to add handlers for for different datastores
type PluginIPLD ¶
type PluginIPLD interface { Plugin Register(multicodec.Registry) error }
PluginIPLD is an interface that can be implemented to add handlers for for different IPLD codecs
type PluginTracer ¶
PluginTracer is an interface that can be implemented to add a tracer