EdDSA key pair generation

Can i generate EdDSA key pair using icp management canister , and need to create a address from its key pair ?

1 Like

Absolutely you can.

let request = ManagementCanisterSchnorrPublicKeyRequest {
        canister_id: None,
        derivation_path: vec![],
        key_id: SchnorrKeyId {
            SchnorrAlgorithm::Ed25519,
            name: String::from("key_1"),
        }
    };

    let (res,): (ManagementCanisterSchnorrPublicKeyReply,) = ic_cdk::call(
        Principal::management_canister(),
        "schnorr_public_key",
        (request,),
    ).await.map_err(|e| format!("schnorr_public_key failed {}", e.1))?;
3 Likes