A set of plugins that can be used inside the NEO core library. Check here for the official documentation.
Plugins can be used to increase functionality, as well as providing policies definitions of the network. One common example is to add the ApplicationLogs plugin in order to enable your node to create log files.
To configure a plugin, do the following:
- Download the desired plugin from the Releases page
- Alternative: Compile from source
- Clone this repository;
- Open it in Visual Studio, select the plugin you want to enable and select
publish
(compile it using Release configuration) - Create the Plugins folder in neo-cli / neo-gui (where the binary is run from, like
/neo-cli/bin/debug/netcoreapp2.1/Plugins
)
- Copy the .dll and the folder with the configuration files into this Plugin folder.
- Start neo using additional parameters, if required;
- In order to start logging, start neo with the
--log
option.
- In order to start logging, start neo with the
The resulting folder structure is going to be like this:
./neo-cli.dll
./Plugins/ApplicationLogs.dll
./Plugins/ApplicationsLogs/config.json
Add this plugin to your application if need to access the log files. This can be useful to handle notifications, but remember that this also largely increases the space used by the application.
Metrics from the Blockchain. This can involve reports through RPC calls or other form of persisting.
Synchronizes the client using offline packages. Follow the instructions here to bootstrap your network using this plugin.
Plugin that enables NEP5 tracking using LevelDB.
Improves security in RPC nodes.
Enables policies for Consensus or Seed Nodes. In particular, policies for accepting transactions in the mempool and managing them.
Exports NEO-CLI status data (useful for debugging).