Java API
HSM Dinamo
Loading...
Looking for...
No entries found
BchainGetAddress.java

Example of recovering blockchain addresses (P2PKH, P2WPKH, and ETH EOA) from an XPrv BIP32 key.

See Note on examples.
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();
}
}