Skip to main content

Derive a SLIP10 Private Public Keypair

Run the Example

You can derive a new SLIP10 master key with optional size and derive a private/public key pair from it by running the following command from within the client crate.

cargo run --example cli slip10-derive  --chain "/1234567/1234567" --input-vault-path "input-vault-path" --input-record-path "input-record-path" --output-vault-path "output-vault-path" --output-record-path "output-record-path"

Expected Output

[2022-06-28T14:11:54Z INFO  cli] Deriving SLIP10 Child Secret
[2022-06-28T14:11:54Z INFO cli] Derivation Sucessful? true

Example Code

async fn command_slip10_derive(chain: ChainInput, input: VaultLocation, output: VaultLocation) {
let client = Client::default();

let output_location = input.to_location();

let slip10_generate = Slip10Generate {
size_bytes: None, // take default vaule
output: output_location.clone(),
};

client.execute_procedure(slip10_generate).unwrap();

info!("Deriving SLIP10 Child Secret");
let slip10_derive = Slip10Derive {
chain: chain.chain,
input: Slip10DeriveInput::Seed(output_location),
output: output.to_location(),
};

info!(
"Derivation Sucessful? {}",
client.execute_procedure(slip10_derive).is_ok()
);
}