mirror of
https://github.com/ipfs/kubo.git
synced 2025-07-02 12:20:03 +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
|
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
|
zcash data formats. In the future, we will be adding plugins for other things
|
||||||
like datastore backends and specialized libp2p network transports.
|
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
|
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
|
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.
|
||||||
- [ ] Dialing priorities for relay addresses; arguably, relay addresses should
|
- [ ] Dialing priorities for relay addresses; arguably, relay addresses should
|
||||||
have lower priority than direct dials.
|
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