func loadPrivateKey(cfg *config.Identity, id peer.ID) (ic.PrivKey, error) { sk, err := cfg.DecodePrivateKey("passphrase todo!") if err != nil { return nil, err } id2, err := peer.IDFromPrivateKey(sk) if err != nil { return nil, err } if id2 != id { return nil, fmt.Errorf("private key in config does not match id: %s != %s", id, id2) } return sk, nil }
func IdentityFromKey(privkey []byte) (config.Identity, error) { ident := config.Identity{} sk, err := libp2p.UnmarshalPrivateKey(privkey) if err != nil { return ident, err } skbytes, err := sk.Bytes() if err != nil { return ident, err } ident.PrivKey = base64.StdEncoding.EncodeToString(skbytes) id, err := peer.IDFromPublicKey(sk.GetPublic()) if err != nil { return ident, err } ident.PeerID = id.Pretty() return ident, nil }