mirror of
https://github.com/ipfs/kubo.git
synced 2025-07-01 19:24:14 +08:00
Merge pull request #4255 from ipfs/docs/plugin
docs: Add some docs on plugins
This commit is contained in:
@ -76,6 +76,7 @@ plugin](https://github.com/ipfs/go-ipld-eth) that lets ipfs ingest and operate
|
||||
on all ethereum blockchain data. Soon to come are plugins for the bitcoin and
|
||||
zcash data formats. In the future, we will be adding plugins for other things
|
||||
like datastore backends and specialized libp2p network transports.
|
||||
You can read more on this topic in [Plugin docs](docs/plugins.md)
|
||||
|
||||
In order to simplify its integration with fs-repo-migrations, we've switched
|
||||
the ipfs/go-ipfs docker image from a musl base to a glibc base. For most users
|
||||
|
@ -282,3 +282,20 @@ Peers can see their (unspecific) relay address in the output of
|
||||
dialing.
|
||||
- [ ] Dialing priorities for relay addresses; arguably, relay addresses should
|
||||
have lower priority than direct dials.
|
||||
|
||||
## Plugins
|
||||
|
||||
### In Version
|
||||
0.4.11
|
||||
|
||||
Plugins allow to add functionality without the need to recompile the daemon.
|
||||
|
||||
### Basic Usage:
|
||||
|
||||
See [Plugin docs](./plugins.md)
|
||||
|
||||
### Road to being a real feature
|
||||
|
||||
- [ ] Better support for platforms other than Linux
|
||||
- [ ] More plugins and plugin types
|
||||
- [ ] Feedback on stability
|
||||
|
49
docs/plugins.md
Normal file
49
docs/plugins.md
Normal file
@ -0,0 +1,49 @@
|
||||
# Plugins
|
||||
|
||||
Since 0.4.11 go-ipfs has an experimental plugin system that allows augmenting
|
||||
the daemons functionality without recompiling.
|
||||
|
||||
When an IPFS node is created, it will load plugins from the `$IPFS_PATH/plugins`
|
||||
directory (by default `~/.ipfs/plugins`).
|
||||
|
||||
### Plugin types
|
||||
|
||||
#### IPLD
|
||||
IPLD plugins add support for additional formats to `ipfs dag` and other IPLD
|
||||
related commands.
|
||||
|
||||
### Supported plugins
|
||||
|
||||
| Name | Type |
|
||||
|------|------|
|
||||
| git | IPLD |
|
||||
|
||||
#### Installation
|
||||
|
||||
##### Linux
|
||||
|
||||
1. Build included plugins:
|
||||
```bash
|
||||
go-ipfs$ make build_plugins
|
||||
go-ipfs$ ls plugin/plugins/*.so
|
||||
```
|
||||
|
||||
3. Copy desired plugins to `$IPFS_PATH/plugins`
|
||||
```bash
|
||||
go-ipfs$ mkdir -p ~/.ipfs/plugins/
|
||||
go-ipfs$ cp plugin/plugins/git.so ~/.ipfs/plugins/
|
||||
go-ipfs$ chmod +x ~/.ipfs/plugins/git.so # ensure plugin is executable
|
||||
```
|
||||
|
||||
4. Restart daemon if it is running
|
||||
|
||||
##### Other
|
||||
|
||||
Go currently only supports plugins on Linux, for other platforms you will need
|
||||
to compile them into IPFS binary.
|
||||
|
||||
1. Uncomment plugin entries in `plugin/loader/preload_list`
|
||||
2. Build ipfs
|
||||
```bash
|
||||
go-ipfs$ make build
|
||||
```
|
Reference in New Issue
Block a user