Documentation ¶
Overview ¶
Copyright 2021 Evmos Foundation This file is part of Evmos' Ethermint library.
The Ethermint library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
The Ethermint library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with the Ethermint library. If not, see https://github.com/planq-network/planq/v2/blob/main/LICENSE
Copyright 2021 Evmos Foundation This file is part of Evmos' Ethermint library.
The Ethermint library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
The Ethermint library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with the Ethermint library. If not, see https://github.com/planq-network/planq/v2/blob/main/LICENSE
Copyright 2021 Evmos Foundation This file is part of Evmos' Ethermint library.
The Ethermint library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
The Ethermint library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with the Ethermint library. If not, see https://github.com/planq-network/planq/v2/blob/main/LICENSE
Copyright 2021 Evmos Foundation This file is part of Evmos' Ethermint library.
The Ethermint library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
The Ethermint library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with the Ethermint library. If not, see https://github.com/planq-network/planq/v2/blob/main/LICENSE
Copyright 2021 Evmos Foundation This file is part of Evmos' Ethermint library.
The Ethermint library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
The Ethermint library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with the Ethermint library. If not, see https://github.com/planq-network/planq/v2/blob/main/LICENSE
Index ¶
- Constants
- func AddCommands(rootCmd *cobra.Command, opts StartOptions, appExport types.AppExporter, ...)
- func ConnectTmWS(tmRPCAddr, tmEndpoint string, logger tmlog.Logger) *rpcclient.WSClient
- func Listen(addr string, config *config.Config) (net.Listener, error)
- func MountGRPCWebServices(router *mux.Router, grpcWeb *grpcweb.WrappedGrpcServer, grpcResources []string, ...)
- func NewIndexTxCmd() *cobra.Command
- func OpenIndexerDB(rootDir string, backendType dbm.BackendType) (dbm.DB, error)
- func StartCmd(opts StartOptions) *cobra.Command
- func StartJSONRPC(ctx *server.Context, clientCtx client.Context, tmRPCAddr, tmEndpoint string, ...) (*http.Server, chan struct{}, error)
- type DBOpener
- type EVMIndexerService
- type StartOptions
Constants ¶
const ( ServiceName = "EVMIndexerService" NewBlockWaitTimeout = 60 * time.Second )
Variables ¶
This section is empty.
Functions ¶
func AddCommands ¶
func AddCommands( rootCmd *cobra.Command, opts StartOptions, appExport types.AppExporter, addStartFlags types.ModuleInitFlags, )
AddCommands adds server commands
func ConnectTmWS ¶
func Listen ¶
Listen starts a net.Listener on the tcp network on the given address. If there is a specified MaxOpenConnections in the config, it will also set the limitListener.
func MountGRPCWebServices ¶
func NewIndexTxCmd ¶
func OpenIndexerDB ¶
OpenIndexerDB opens the custom eth indexer db, using the same db backend as the main app
func StartCmd ¶
func StartCmd(opts StartOptions) *cobra.Command
StartCmd runs the service passed in, either stand-alone or in-process with Tendermint.
Types ¶
type DBOpener ¶
type DBOpener func(opts types.AppOptions, rootDir string, backend dbm.BackendType) (dbm.DB, error)
DBOpener is a function to open `application.db`, potentially with customized options.
type EVMIndexerService ¶
type EVMIndexerService struct { service.BaseService // contains filtered or unexported fields }
EVMIndexerService indexes transactions for json-rpc service.
func NewEVMIndexerService ¶
func NewEVMIndexerService( txIdxr ethermint.EVMTxIndexer, client rpcclient.Client, ) *EVMIndexerService
NewEVMIndexerService returns a new service instance.
func (*EVMIndexerService) OnStart ¶
func (eis *EVMIndexerService) OnStart() error
OnStart implements service.Service by subscribing for new blocks and indexing them by events.
type StartOptions ¶
type StartOptions struct { AppCreator types.AppCreator DefaultNodeHome string DBOpener DBOpener }
StartOptions defines options that can be customized in `StartCmd`
func NewDefaultStartOptions ¶
func NewDefaultStartOptions(appCreator types.AppCreator, defaultNodeHome string) StartOptions
NewDefaultStartOptions use the default db opener provided in tm-db.