Add --pluginsdir flag.

This commit is contained in:
Thomas E Lackey 2023-06-28 22:47:20 -05:00
parent 0ed9eba1de
commit 6a96597287
3 changed files with 20 additions and 2 deletions

View File

@ -57,6 +57,9 @@ const (
var (
// flags that configure the node
nodeFlags = flags.Merge([]cli.Flag{
//begin PluGeth code injection
utils.PluginsDirFlag,
//end PluGeth code injection
utils.IdentityFlag,
utils.UnlockedAccountFlag,
utils.PasswordFileFlag,
@ -339,7 +342,14 @@ func prepare(ctx *cli.Context) {
// blocking mode, waiting for it to be shut down.
func geth(ctx *cli.Context) error {
//begin PluGeth code injection
if err := plugins.Initialize(path.Join(ctx.String(utils.DataDirFlag.Name), "plugins"), ctx); err != nil {
var pluginsDir string
if ctx.IsSet(utils.PluginsDirFlag.Name) {
pluginsDir = ctx.String(utils.PluginsDirFlag.Name)
} else {
pluginsDir = path.Join(ctx.String(utils.DataDirFlag.Name), "plugins")
}
if err := plugins.Initialize(pluginsDir, ctx); err != nil {
return err
}
prepare(ctx)

View File

@ -88,6 +88,13 @@ import (
var (
// General settings
//begin PluGeth code injection
PluginsDirFlag = &flags.DirectoryFlag{
Name: "pluginsdir",
Usage: "Directory for plugins (default = datadir/plugins)",
Category: flags.EthCategory,
}
//end PluGeth code injection
DataDirFlag = &flags.DirectoryFlag{
Name: "datadir",
Usage: "Data directory for the databases and keystore",

View File

@ -8,7 +8,7 @@ import (
"plugin"
"reflect"
"strings"
"github.com/ethereum/go-ethereum/event"
"github.com/ethereum/go-ethereum/log"
"github.com/openrelayxyz/plugeth-utils/core"
@ -58,6 +58,7 @@ func Lookup(name string, validate func(interface{}) bool) []interface{} {
var DefaultPluginLoader *PluginLoader
func NewPluginLoader(target string) (*PluginLoader, error) {
log.Info("Loading plugins from directory.", "path", target)
pl := &PluginLoader{
Plugins: []pluginDetails{},
Subcommands: make(map[string]Subcommand),