Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added db loggers to all db callers and fixed flag settings #9099

Merged
merged 2 commits into from
Dec 31, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion cl/sentinel/sentinel.go
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ func (s *Sentinel) createLocalNode(
udpPort, tcpPort int,
tmpDir string,
) (*enode.LocalNode, error) {
db, err := enode.OpenDB(s.ctx, "", tmpDir)
db, err := enode.OpenDB(s.ctx, "", tmpDir, s.logger)
if err != nil {
return nil, fmt.Errorf("could not open node's peer database: %w", err)
}
Expand Down
2 changes: 1 addition & 1 deletion cmd/bootnode/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ func main() {
ctx, cancel := common.RootContext()
defer cancel()

db, err := enode.OpenDB(ctx, "" /* path */, "" /* tmpDir */)
db, err := enode.OpenDB(ctx, "" /* path */, "" /* tmpDir */, logger)
if err != nil {
panic(err)
}
Expand Down
6 changes: 3 additions & 3 deletions cmd/devnet/args/node_args.go
Original file line number Diff line number Diff line change
Expand Up @@ -182,18 +182,18 @@ func (n *BlockProducer) IsBlockProducer() bool {
return true
}

type NonBlockProducer struct {
type BlockConsumer struct {
NodeArgs
HttpApi string `arg:"--http.api" default:"admin,eth,debug,net,trace,web3,erigon,txpool" json:"http.api"`
TorrentPort string `arg:"--torrent.port" default:"42070" json:"torrent.port"`
NoDiscover string `arg:"--nodiscover" flag:"" default:"true" json:"nodiscover"`
}

func (n *NonBlockProducer) IsBlockProducer() bool {
func (n *BlockConsumer) IsBlockProducer() bool {
return false
}

func (n *NonBlockProducer) Account() *accounts.Account {
func (n *BlockConsumer) Account() *accounts.Account {
return nil
}

Expand Down
2 changes: 1 addition & 1 deletion cmd/devnet/args/node_args_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ func TestNodeArgs(t *testing.T) {
t.Fatal(asMap, "not found")
}

nodeArgs, _ = args.AsArgs(args.NonBlockProducer{
nodeArgs, _ = args.AsArgs(args.BlockConsumer{
NodeArgs: args.NodeArgs{
DataDir: filepath.Join("data", fmt.Sprintf("%d", 2)),
StaticPeers: "enode",
Expand Down
4 changes: 4 additions & 0 deletions cmd/devnet/devnet/context.go
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,10 @@ func CurrentNetwork(ctx context.Context) *Network {
}
}

if devnet, ok := ctx.Value(ckDevnet).(Devnet); ok {
return devnet.SelectNetwork(ctx, 0)
}

return nil
}

Expand Down
35 changes: 28 additions & 7 deletions cmd/devnet/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import (
"syscall"
"time"

"github.com/ledgerwatch/erigon/cmd/devnet/networks"
"github.com/ledgerwatch/erigon/cmd/devnet/services"
"github.com/ledgerwatch/erigon/cmd/devnet/services/polygon"

Expand All @@ -23,7 +24,6 @@ import (
"github.com/ledgerwatch/erigon/cmd/devnet/devnetutils"
"github.com/ledgerwatch/erigon/cmd/devnet/requests"
"github.com/ledgerwatch/erigon/cmd/devnet/scenarios"
"github.com/ledgerwatch/erigon/cmd/devnet/tests"
"github.com/ledgerwatch/log/v3"

"github.com/ledgerwatch/erigon/cmd/utils/flags"
Expand Down Expand Up @@ -119,6 +119,18 @@ var (
Usage: "internal flag",
}

txCountFlag = cli.IntFlag{
Name: "txcount",
Usage: "Transaction count, (scenario dependent - may be total or reoccurring)",
Value: 100,
}

BlockProducersFlag = cli.UintFlag{
Name: "block-producers",
Usage: "The number of block producers to instantiate in the network",
Value: 1,
}

WaitFlag = cli.BoolFlag{
Name: "wait",
Usage: "Wait until interrupted after all scenarios have run",
Expand Down Expand Up @@ -156,6 +168,8 @@ func main() {
&insecureFlag,
&metricsURLsFlag,
&WaitFlag,
&txCountFlag,
&BlockProducersFlag,
&logging.LogVerbosityFlag,
&logging.LogConsoleVerbosityFlag,
&logging.LogDirVerbosityFlag,
Expand Down Expand Up @@ -241,7 +255,8 @@ func mainContext(ctx *cli.Context) error {
go connectDiagnosticsIfEnabled(ctx, logger)

enabledScenarios := strings.Split(ctx.String(ScenariosFlag.Name), ",")
if err = allScenarios(runCtx).Run(runCtx, enabledScenarios...); err != nil {

if err = allScenarios(ctx, runCtx).Run(runCtx, enabledScenarios...); err != nil {
return err
}

Expand All @@ -256,7 +271,7 @@ func mainContext(ctx *cli.Context) error {
return nil
}

func allScenarios(runCtx devnet.Context) scenarios.Scenarios {
func allScenarios(cliCtx *cli.Context, runCtx devnet.Context) scenarios.Scenarios {
// unsubscribe from all the subscriptions made
defer services.UnsubscribeAll()

Expand Down Expand Up @@ -313,6 +328,11 @@ func allScenarios(runCtx devnet.Context) scenarios.Scenarios {
//{Text: "BatchProcessTransfers", Args: []any{"child-funder", 1, 10, 2, 2}},
},
},
"block-production": {
Steps: []*scenarios.Step{
{Text: "SendTxLoad", Args: []any{recipientAddress, accounts.DevAddress, sendValue, cliCtx.Uint(txCountFlag.Name)}},
},
},
}
}

Expand All @@ -321,21 +341,22 @@ func initDevnet(ctx *cli.Context, logger log.Logger) (devnet.Devnet, error) {
chainName := ctx.String(ChainFlag.Name)
baseRpcHost := ctx.String(BaseRpcHostFlag.Name)
baseRpcPort := ctx.Int(BaseRpcPortFlag.Name)
producerCount := int(ctx.Uint(BlockProducersFlag.Name))

switch chainName {
case networkname.BorDevnetChainName:
if ctx.Bool(WithoutHeimdallFlag.Name) {
return tests.NewBorDevnetWithoutHeimdall(dataDir, baseRpcHost, baseRpcPort, logger), nil
return networks.NewBorDevnetWithoutHeimdall(dataDir, baseRpcHost, baseRpcPort, logger), nil
} else if ctx.Bool(LocalHeimdallFlag.Name) {
heimdallGrpcAddr := ctx.String(HeimdallGrpcAddressFlag.Name)
sprintSize := uint64(ctx.Int(BorSprintSizeFlag.Name))
return tests.NewBorDevnetWithLocalHeimdall(dataDir, baseRpcHost, baseRpcPort, heimdallGrpcAddr, sprintSize, logger), nil
return networks.NewBorDevnetWithLocalHeimdall(dataDir, baseRpcHost, baseRpcPort, heimdallGrpcAddr, sprintSize, producerCount, logger), nil
} else {
return tests.NewBorDevnetWithRemoteHeimdall(dataDir, baseRpcHost, baseRpcPort, logger), nil
return networks.NewBorDevnetWithRemoteHeimdall(dataDir, baseRpcHost, baseRpcPort, producerCount, logger), nil
}

case networkname.DevChainName:
return tests.NewDevDevnet(dataDir, baseRpcHost, baseRpcPort, logger), nil
return networks.NewDevDevnet(dataDir, baseRpcHost, baseRpcPort, producerCount, logger), nil

default:
return nil, fmt.Errorf("unknown network: '%s'", chainName)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package tests
package networks

import (
"time"
Expand Down Expand Up @@ -47,7 +47,7 @@ func NewBorDevnetWithoutHeimdall(
},
AccountSlots: 200,
},
&args.NonBlockProducer{
&args.BlockConsumer{
NodeArgs: args.NodeArgs{
ConsoleVerbosity: "0",
DirVerbosity: "5",
Expand All @@ -67,6 +67,7 @@ func NewBorDevnetWithHeimdall(
heimdall *polygon.Heimdall,
heimdallGrpcAddr string,
checkpointOwner *accounts.Account,
producerCount int,
withMilestones bool,
logger log.Logger,
) devnet.Devnet {
Expand All @@ -77,6 +78,23 @@ func NewBorDevnetWithHeimdall(
services = append(services, heimdall)
}

var nodes []devnet.Node

if producerCount == 0 {
producerCount++
}

for i := 0; i < producerCount; i++ {
nodes = append(nodes, &args.BlockProducer{
NodeArgs: args.NodeArgs{
ConsoleVerbosity: "0",
DirVerbosity: "5",
HeimdallGrpcAddr: heimdallGrpcAddr,
},
AccountSlots: 20000,
})
}

borNetwork := devnet.Network{
DataDir: dataDir,
Chain: networkname.BorDevnetChainName,
Expand All @@ -91,39 +109,14 @@ func NewBorDevnetWithHeimdall(
Alloc: types.GenesisAlloc{
faucetSource.Address: {Balance: accounts.EtherAmount(200_000)},
},
Nodes: []devnet.Node{
&args.BlockProducer{
Nodes: append(nodes,
&args.BlockConsumer{
NodeArgs: args.NodeArgs{
ConsoleVerbosity: "0",
DirVerbosity: "5",
HeimdallGrpcAddr: heimdallGrpcAddr,
},
AccountSlots: 200,
},
&args.BlockProducer{
NodeArgs: args.NodeArgs{
ConsoleVerbosity: "0",
DirVerbosity: "5",
HeimdallGrpcAddr: heimdallGrpcAddr,
},
AccountSlots: 200,
},
/*&args.BlockProducer{
Node: args.Node{
ConsoleVerbosity: "0",
DirVerbosity: "5",
HeimdallGrpcAddr: heimdallGrpcAddr,
},
AccountSlots: 200,
},*/
&args.NonBlockProducer{
NodeArgs: args.NodeArgs{
ConsoleVerbosity: "0",
DirVerbosity: "5",
HeimdallGrpcAddr: heimdallGrpcAddr,
},
},
},
}),
}

devNetwork := devnet.Network{
Expand All @@ -150,7 +143,7 @@ func NewBorDevnetWithHeimdall(
DevPeriod: 5,
AccountSlots: 200,
},
&args.NonBlockProducer{
&args.BlockConsumer{
NodeArgs: args.NodeArgs{
ConsoleVerbosity: "0",
DirVerbosity: "3",
Expand All @@ -169,6 +162,7 @@ func NewBorDevnetWithRemoteHeimdall(
dataDir string,
baseRpcHost string,
baseRpcPort int,
producerCount int,
logger log.Logger,
) devnet.Devnet {
heimdallGrpcAddr := ""
Expand All @@ -181,6 +175,7 @@ func NewBorDevnetWithRemoteHeimdall(
nil,
heimdallGrpcAddr,
checkpointOwner,
producerCount,
withMilestones,
logger)
}
Expand All @@ -191,6 +186,7 @@ func NewBorDevnetWithLocalHeimdall(
baseRpcPort int,
heimdallGrpcAddr string,
sprintSize uint64,
producerCount int,
logger log.Logger,
) devnet.Devnet {
config := *params.BorDevnetChainConfig
Expand All @@ -216,6 +212,7 @@ func NewBorDevnetWithLocalHeimdall(
heimdall,
heimdallGrpcAddr,
checkpointOwner,
producerCount,
// milestones are not supported yet on the local heimdall
false,
logger)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package tests
package networks

import (
"github.com/ledgerwatch/erigon-lib/chain/networkname"
Expand All @@ -14,10 +14,27 @@ func NewDevDevnet(
dataDir string,
baseRpcHost string,
baseRpcPort int,
producerCount int,
logger log.Logger,
) devnet.Devnet {
faucetSource := accounts.NewAccount("faucet-source")

var nodes []devnet.Node

if producerCount == 0 {
producerCount++
}

for i := 0; i < producerCount; i++ {
nodes = append(nodes, &args.BlockProducer{
NodeArgs: args.NodeArgs{
ConsoleVerbosity: "0",
DirVerbosity: "5",
},
AccountSlots: 200,
})
}

network := devnet.Network{
DataDir: dataDir,
Chain: networkname.DevChainName,
Expand All @@ -32,21 +49,13 @@ func NewDevDevnet(
account_services.NewFaucet(networkname.DevChainName, faucetSource),
},
MaxNumberOfEmptyBlockChecks: 30,
Nodes: []devnet.Node{
&args.BlockProducer{
Nodes: append(nodes,
&args.BlockConsumer{
NodeArgs: args.NodeArgs{
ConsoleVerbosity: "0",
DirVerbosity: "5",
},
AccountSlots: 200,
},
&args.NonBlockProducer{
NodeArgs: args.NodeArgs{
ConsoleVerbosity: "0",
DirVerbosity: "5",
},
},
},
}),
}

return devnet.Devnet{&network}
Expand Down
Loading
Loading