db

package
v5.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 1, 2024 License: GPL-3.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// SourceDataDirFlag defines a path on disk where source Prysm databases are stored. Used for conversion.
	SourceDataDirFlag = &cli.StringFlag{
		Name:     "source-data-dir",
		Usage:    "Source data directory",
		Required: true,
	}

	// SourceDataDirFlag defines a path on disk where source Prysm databases are stored. Used for conversion.
	TargetDataDirFlag = &cli.StringFlag{
		Name:     "target-data-dir",
		Usage:    "Target data directory",
		Required: true,
	}
)
View Source
var Commands = &cli.Command{
	Name:     "db",
	Category: "db",
	Usage:    "Defines commands for interacting with the Prysm validator database.",
	Subcommands: []*cli.Command{
		{
			Name:        "restore",
			Description: `restores a database from a backup file`,
			Flags: cmd.WrapFlags([]cli.Flag{
				cmd.RestoreSourceFileFlag,
				cmd.RestoreTargetDirFlag,
			}),
			Before: tos.VerifyTosAcceptedOrPrompt,
			Action: func(cliCtx *cli.Context) error {
				if err := validatordb.Restore(cliCtx); err != nil {
					log.WithError(err).Fatal("Could not restore database")
				}
				return nil
			},
		},
		{
			Name:     "migrate",
			Category: "db",
			Usage:    "Defines commands for running validator database migrations",
			Subcommands: []*cli.Command{
				{
					Name:  "up",
					Usage: "Runs up migrations for the validator database",
					Flags: cmd.WrapFlags([]cli.Flag{
						cmd.DataDirFlag,
					}),
					Before: tos.VerifyTosAcceptedOrPrompt,
					Action: func(cliCtx *cli.Context) error {
						if err := validatordb.MigrateUp(cliCtx); err != nil {
							log.WithError(err).Fatal("Could not run database migrations")
						}
						return nil
					},
				},
				{
					Name:  "down",
					Usage: "Runs down migrations for the validator database",
					Flags: cmd.WrapFlags([]cli.Flag{
						cmd.DataDirFlag,
					}),
					Before: tos.VerifyTosAcceptedOrPrompt,
					Action: func(cliCtx *cli.Context) error {
						if err := validatordb.MigrateDown(cliCtx); err != nil {
							log.WithError(err).Fatal("Could not run database migrations")
						}
						return nil
					},
				},
			},
		},
		{
			Name:     "convert-complete-to-minimal",
			Category: "db",
			Usage:    "Convert a complete EIP-3076 slashing protection to a minimal one",
			Flags: []cli.Flag{
				SourceDataDirFlag,
				TargetDataDirFlag,
			},
			Before: func(cliCtx *cli.Context) error {
				return cmd.LoadFlagsFromConfig(cliCtx, cliCtx.Command.Flags)
			},
			Action: func(cliCtx *cli.Context) error {
				sourcedDatabasePath := cliCtx.String(SourceDataDirFlag.Name)
				targetDatabasePath := cliCtx.String(TargetDataDirFlag.Name)

				err := validatordb.ConvertDatabase(cliCtx.Context, sourcedDatabasePath, targetDatabasePath, false)
				if err != nil {
					log.WithError(err).Fatal("Could not convert database")
				}

				return nil
			},
		},
	},
}

Commands for interacting with the Prysm validator database.

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL