import("crypto/rand""fmt"ic"github.com/libp2p/go-libp2p-crypto")funcgenerateKey(keyTypestring)(privic.PrivKey,errerror){switchkeyType{case"rsa":fmt.Printf("Generated new peer with an RSA key.")priv,_,err=ic.GenerateRSAKeyPair(2048,rand.Reader)case"ecdsa":fmt.Printf("Generated new peer with an ECDSA key.")priv,_,err=ic.GenerateECDSAKeyPair(rand.Reader)case"ed25519":fmt.Printf("Generated new peer with an Ed25519 key.")priv,_,err=ic.GenerateEd25519Key(rand.Reader)case"secp256k1":fmt.Printf("Generated new peer with an Secp256k1 key.")priv,_,err=ic.GenerateSecp256k1Key(rand.Reader)default:returnnil,fmt.Errorf("unknown key type: %s",keyType)}return}