65 lines
2.2 KiB
Plaintext
65 lines
2.2 KiB
Plaintext
// Example Rhai script demonstrating loading an existing key space for Hero Vault
|
|
// This script shows how to load a previously created key space and use its keypairs
|
|
|
|
// Define the key space name and password
|
|
let space_name = "persistent_space";
|
|
let password = "secure_password123";
|
|
|
|
print("Loading existing key space: " + space_name);
|
|
|
|
// Load the key space from disk
|
|
if load_key_space(space_name, password) {
|
|
print("✓ Key space loaded successfully");
|
|
|
|
// List available keypairs
|
|
let keypairs = list_keypairs();
|
|
print("Available keypairs: " + keypairs);
|
|
|
|
// Use both keypairs to sign different messages
|
|
if select_keypair("persistent_key1") {
|
|
print("\nUsing persistent_key1:");
|
|
let message1 = "Message signed with the first keypair";
|
|
let signature1 = sign(message1);
|
|
print("Message: " + message1);
|
|
print("Signature: " + signature1);
|
|
|
|
let is_valid1 = verify(message1, signature1);
|
|
if is_valid1 {
|
|
print("Verification: ✓ Valid");
|
|
} else {
|
|
print("Verification: ✗ Invalid");
|
|
}
|
|
}
|
|
|
|
if select_keypair("persistent_key2") {
|
|
print("\nUsing persistent_key2:");
|
|
let message2 = "Message signed with the second keypair";
|
|
let signature2 = sign(message2);
|
|
print("Message: " + message2);
|
|
print("Signature: " + signature2);
|
|
|
|
let is_valid2 = verify(message2, signature2);
|
|
if is_valid2 {
|
|
print("Verification: ✓ Valid");
|
|
} else {
|
|
print("Verification: ✗ Invalid");
|
|
}
|
|
}
|
|
|
|
// Create an Ethereum wallet using one of the keypairs
|
|
print("\nCreating Ethereum wallet from persistent keypair:");
|
|
if select_keypair("persistent_key1") {
|
|
if create_ethereum_wallet() {
|
|
print("✓ Ethereum wallet created");
|
|
|
|
let address = get_ethereum_address();
|
|
print("Ethereum address: " + address);
|
|
} else {
|
|
print("✗ Failed to create Ethereum wallet");
|
|
}
|
|
}
|
|
} else {
|
|
print("✗ Failed to load key space. Make sure you've run key_persistence_example.rhai first.");
|
|
}
|
|
|
|
print("\nScript execution completed!"); |