5c55657c54
This makes two main changes to the plugin system: * Instead of assuming that each plugin will have exactly one type, inspect each plugin to see which interfaces it provides, and register it as a provider of each provided interface. This can allow a single .so file to provide multiple interfaces, which will likely be necessary for aggregating certain types of info. * Rather than using dependency injection and having to propagate the plugin system all throughout Geth, have a default plugin loader so we need only import the module and make calls to it. If the plan were to integrate this into mainline Geth, I would say we use dependency injection and take the time to pass the plugin loader throughout the codebase, but as I expect this to be a fork that has to pull upstream changes, this approach should make merge conflicts much less common. |
||
---|---|---|
.. | ||
testdata | ||
accountcmd_test.go | ||
accountcmd.go | ||
chaincmd.go | ||
config.go | ||
consolecmd_test.go | ||
consolecmd.go | ||
dao_test.go | ||
dbcmd.go | ||
genesis_test.go | ||
les_test.go | ||
main.go | ||
misccmd.go | ||
run_test.go | ||
snapshot.go | ||
usage.go | ||
version_check_test.go | ||
version_check.go |