github.com/ChainSafe/chainbridge-core@v1.4.2/chains/evm/cli/account/generate-key-pair.go (about)

     1  package account
     2  
     3  import (
     4  	"github.com/ChainSafe/chainbridge-core/chains/evm/cli/logger"
     5  	"github.com/ChainSafe/chainbridge-core/crypto/secp256k1"
     6  	"github.com/rs/zerolog/log"
     7  	"github.com/spf13/cobra"
     8  )
     9  
    10  var generateKeyPairCmd = &cobra.Command{
    11  	Use:   "generate",
    12  	Short: "Generate a bridge keystore (Secp256k1)",
    13  	Long:  "The generate subcommand is used to generate the bridge keystore. If no options are specified, a Secp256k1 key will be made",
    14  	RunE:  generateKeyPair,
    15  	PreRun: func(cmd *cobra.Command, args []string) {
    16  		logger.LoggerMetadata(cmd.Name(), cmd.Flags())
    17  	},
    18  }
    19  
    20  func generateKeyPair(cmd *cobra.Command, args []string) error {
    21  	kp, err := secp256k1.GenerateKeypair()
    22  	if err != nil {
    23  		return err
    24  	}
    25  	log.Debug().Msgf("Address: %s,  Private key: %x", kp.CommonAddress().String(), kp.Encode())
    26  	return nil
    27  }