GithubHelp home page GithubHelp logo

neo-modules's Introduction

neo-logo

Current TravisCI build status. License Current neo-modules version.

What is it

A set of plugins/modules that can be used inside the NEO core library is available in this repository. You can refer to the official documentation for the more detailed usage guide.

In addition, a C# SDK module is included for developers to call RPC methods with ease.

Using Plugins

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, you can directly download the desired plugin from the Releases page.

Alternatively, you can compile from source code by following the below steps:

  • 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 file is located, such as /neo-cli/bin/Release/netcoreapp3.0/Plugins)
  • Copy the .dll and the folder with the configuration files into the Plugins folder.
    • Remarkably, you should put the dependency of the plugin in the Plugins folder as well. For example, since the RpcServer has the package reference on the Microsoft.AspNetCore.ResponseCompression, so the corresponding dll file should be put together with the plugin.

The resulting folder structure is going to be like this:

./neo-cli.dll
./Plugins/ApplicationLogs.dll
./Plugins/ApplicationsLogs/config.json

Plugins/Modules

ApplicationLogs

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. LevelDBStore and RpcServer are also needed for this plugin. You can find more details here.

SystemLog

Enable neo-cli Logging with timestamps by showing messages with different levels (shown with different colors) (useful for debugging).

StatesDumper

Exports neo-cli status data (useful for debugging), such as storage modifications block by block.

LevelDBStore

If there is no further modification of the configuration file of the neo-node, it is the default storage engine in the NEO system. In this case, you should paste the LevelDBStore in the Plugins before launching the node.

RocksDBStore

You can also use RocksDBStore in the NEO system by modifying the default storage engine section in the configuration file.

RpcServer

Plugin for hosting a RpcServer on the neo-node, being able to disable specific calls.

RpcNep5Tracker

Plugin that enables NEP5 tracking using LevelDB. This module works in conjunction with RpcServer, otherwise, just local storage (on leveldb) would be created.

C# SDK

RpcClient

The RpcClient Project is an individual SDK that is used to interact with NEO blockchain through NEO RPC methods for development using. The main functions include RPC calling, Transaction making, Contract deployment & calling, and Asset transfering. It needs a NEO node with the RpcServer plugin as a provider. And the provider needs more plugins like RpcNep5Tracker and ApplicationLogs if you want to call RPC methods supplied by the plugins.

neo-modules's People

Contributors

belane avatar celia18305 avatar chenquanyu avatar erikzhang avatar f27d avatar hal0x2328 avatar igormcoelho avatar jsolman avatar lock9 avatar shargon avatar superboyiii avatar vncoelho avatar zhangtao1596 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.