diff options
author | Meng-Ying Yang <garfield@dexon.org> | 2018-12-27 19:22:41 +0800 |
---|---|---|
committer | Wei-Ning Huang <w@dexon.org> | 2019-03-12 12:19:09 +0800 |
commit | d124aec39f0e346b67434795b433797528084a57 (patch) | |
tree | 1b4038f2eca3cbb4b5c04391980a64d00a13134e /cmd/utils/flags.go | |
parent | 37e5d4b0f6a3ab072a8d41e3414048f8546df237 (diff) | |
download | dexon-d124aec39f0e346b67434795b433797528084a57.tar dexon-d124aec39f0e346b67434795b433797528084a57.tar.gz dexon-d124aec39f0e346b67434795b433797528084a57.tar.bz2 dexon-d124aec39f0e346b67434795b433797528084a57.tar.lz dexon-d124aec39f0e346b67434795b433797528084a57.tar.xz dexon-d124aec39f0e346b67434795b433797528084a57.tar.zst dexon-d124aec39f0e346b67434795b433797528084a57.zip |
indexer: support data exporting/forwarding (#103)
To support more effective and flexible blockchain info exploring, we add
`indexer` package, defines the flow of indexer dameon, and integrate
into dex.Dexon fullnode.
For more export options, we use Golang built-in `plugin` package to
support mulitple implementations.
Diffstat (limited to 'cmd/utils/flags.go')
-rw-r--r-- | cmd/utils/flags.go | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index da820a544..ee5a3be6d 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -643,6 +643,17 @@ var ( Usage: "External EVM configuration (default = built-in interpreter)", Value: "", } + + // Data sources options. + IndexerEnableFlag = cli.BoolFlag{ + Name: "indexer", + Usage: "Enable indexer", + } + IndexerPluginFlag = cli.StringFlag{ + Name: "indexer.plugin", + Usage: "External indexer plugin shared object path", + Value: "", + } ) // MakeDataDir retrieves the currently requested data directory, terminating @@ -1274,6 +1285,18 @@ func SetDexConfig(ctx *cli.Context, stack *node.Node, cfg *dex.Config) { now.Hour(), now.Minute(), (now.Second()/5+1)*5, 0, now.Location()).Unix() } + + // Set indexer config. + setIndexerConfig(ctx, cfg) +} + +func setIndexerConfig(ctx *cli.Context, cfg *dex.Config) { + cfg.Indexer.Enable = ctx.GlobalBool(IndexerEnableFlag.Name) + if !cfg.Indexer.Enable { + return + } + + cfg.Indexer.Plugin = ctx.GlobalString(IndexerPluginFlag.Name) } // SetDashboardConfig applies dashboard related command line flags to the config. |