API Java
HSM Dinamo
Carregando...
Procurando...
Nenhuma entrada encontrado
BchainGetAddress.java

Exemplo de recuperação de endereços blockchain (P2PKH, P2WPKH e ETH EOA) a partir de uma chave XPrv BIP32.

Veja Nota sobre os exemplos.
package doxy.examples;
import com.dinamonetworks.Dinamo;
import br.com.trueaccess.TacException;
import br.com.trueaccess.TacNDJavaLib;
public class BchainGetAddress {
public static void main(String[] args) throws TacException {
String ip = "127.0.0.1";
String user = "master";
String password = "12345678";
Dinamo api = new Dinamo();
api.openSession(ip, user, password);
String xprvId = "xprv_addr_example";
// Cria uma chave XPrv BIP32 (mainnet)
api.bchainCreateXPrv(TacNDJavaLib.DN_BCHAIN_BIP32_XPRV,
TacNDJavaLib.DN_BCHAIN_VER_BIP32_MAINNET,
0,
xprvId);
System.out.println("Chave XPrv criada: " + xprvId);
// Recupera o endereço P2PKH (Bitcoin mainnet)
byte[] addrP2PKH = api.bchainGetAddress(TacNDJavaLib.DN_BCHAIN_AT_BTC_P2PKH,
TacNDJavaLib.DN_BCHAIN_VER_BTC_A1_MAIN_NET,
TacNDJavaLib.DN_BCHAIN_HRP_UNUSED,
xprvId);
System.out.println("Endereço P2PKH: " + new String(addrP2PKH));
// Recupera o endereço P2WPKH (Bitcoin mainnet, SegWit bech32)
byte[] addrP2WPKH = api.bchainGetAddress(TacNDJavaLib.DN_BCHAIN_AT_BTC_P2WPKH,
TacNDJavaLib.DN_BCHAIN_VER_BTC_B32_WITVER,
TacNDJavaLib.DN_BCHAIN_HRP_BTC_MAIN_NET,
xprvId);
System.out.println("Endereço P2WPKH: " + new String(addrP2WPKH));
// Recupera o endereço ETH EOA
byte[] addrEth = api.bchainGetAddress(TacNDJavaLib.DN_BCHAIN_AT_ETH_EOA,
TacNDJavaLib.DN_BCHAIN_VER_UNUSED,
TacNDJavaLib.DN_BCHAIN_HRP_UNUSED,
xprvId);
System.out.println("Endereço ETH EOA: " + new String(addrEth));
// Remove a chave criada
api.deleteKeyIfExists(xprvId);
System.out.println("Chave XPrv removida: " + xprvId);
api.closeSession();
}
}