// Importa o cliente Dinamo HSM
const { hsm } = require("@dinamonetworks/hsm-dinamo");

// Define os parâmetros de conexão com o HSM
const options = {
host: "127.0.0.1",
authUsernamePassword: {
username: "master",
password: "12345678",
},
};

async function exportKey() {
// Connecta ao HSM
const conn = await hsm.connect(options);

// Nome da chave
const keyName = "myKeyToExport";

// Cria a nova chave
const key = await conn.blockchain.create(
keyName, // Nome da chave
hsm.enums.BLOCKCHAIN_KEYS.BITCOIN_MINI_KEY, // Tipo
true, // Se é exportável
true // Se é temporária
);

// Exporta a chave privada do HSM
const exportedKey = await conn.blockchain.export(
hsm.enums.IMPORT_EXPORT_FORMAT.MINI, // Formato da chave a ser exportada
hsm.enums.BLOCKCHAIN_EXPORT_VERSION.WIF_LTC_MAIN_NET, // Versão
true, // true para o formato comprimido
keyName // Nome da chave
);

// Chave exportada
console.log(exportedKey);

// Desconecta do HSM
await conn.disconnect();
}

// Execute a função exportKey
exportKey();