Пример #1
0
    TxPlugin, )
from trinity.plugins.builtin.light_peer_chain_bridge.plugin import (
    LightPeerChainBridgePlugin)


def is_ipython_available() -> bool:
    try:
        pkg_resources.get_distribution('IPython')
    except pkg_resources.DistributionNotFound:
        return False
    else:
        return True


BASE_PLUGINS: Tuple[BasePlugin, ...] = (
    AttachPlugin(use_ipython=is_ipython_available()),
    FixUncleanShutdownPlugin(),
    PeerDiscoveryPlugin(),
)

ETH1_NODE_PLUGINS: Tuple[BasePlugin, ...] = (
    EthstatsPlugin(),
    JsonRpcServerPlugin(),
    LightPeerChainBridgePlugin(),
    TxPlugin(),
)


def discover_plugins() -> Tuple[BasePlugin, ...]:
    # Plugins need to define entrypoints at 'trinity.plugins' to automatically get loaded
    # https://packaging.python.org/guides/creating-and-discovering-plugins/#using-package-metadata
Пример #2
0
    JsonRpcServerPlugin,
)
from trinity.plugins.builtin.tx_pool.plugin import (
    TxPlugin,
)
from trinity.plugins.builtin.light_peer_chain_bridge.plugin import (
    LightPeerChainBridgePlugin
)


def is_ipython_available() -> bool:
    try:
        pkg_resources.get_distribution('IPython')
    except pkg_resources.DistributionNotFound:
        return False
    else:
        return True


# This is our poor mans central plugin registry for now. In the future,
# we'll be able to load plugins from some path and control via Trinity
# config file which plugin is enabled or not

ENABLED_PLUGINS = [
    AttachPlugin() if is_ipython_available() else AttachPlugin(use_ipython=False),
    FixUncleanShutdownPlugin(),
    JsonRpcServerPlugin(),
    LightPeerChainBridgePlugin(),
    TxPlugin(),
]