lbcd/claimtrie/cmd/cmd/temporal.go
Roy Lee 753f413c13 [lbry] claimtrie: import current snapshot
Sync to tip

Co-authored-by: Brannon King <countprimes@gmail.com>
2021-12-14 14:00:59 -08:00

60 lines
1.2 KiB
Go

package cmd
import (
"path/filepath"
"github.com/lbryio/lbcd/claimtrie/temporal/temporalrepo"
"github.com/cockroachdb/errors"
"github.com/spf13/cobra"
)
func init() {
rootCmd.AddCommand(NewTemporalCommand())
}
func NewTemporalCommand() *cobra.Command {
var fromHeight int32
var toHeight int32
cmd := &cobra.Command{
Use: "temporal",
Short: "List which nodes are update in a range of heights",
Args: cobra.NoArgs,
RunE: func(cmd *cobra.Command, args []string) error {
dbPath := filepath.Join(dataDir, netName, "claim_dbs", cfg.TemporalRepoPebble.Path)
log.Debugf("Open temporal repo: %s", dbPath)
repo, err := temporalrepo.NewPebble(dbPath)
if err != nil {
return errors.Wrapf(err, "open temporal repo")
}
if toHeight <= 0 {
toHeight = fromHeight
}
for ht := fromHeight; ht <= toHeight; ht++ {
names, err := repo.NodesAt(ht)
if err != nil {
return errors.Wrapf(err, "get node names from temporal")
}
if len(names) == 0 {
continue
}
showTemporalNames(ht, names)
}
return nil
},
}
cmd.Flags().Int32Var(&fromHeight, "from", 0, "From height (inclusive)")
cmd.Flags().Int32Var(&toHeight, "to", 0, "To height (inclusive)")
cmd.Flags().SortFlags = false
return cmd
}