HEX Private key to address with ripple-lib
const keypairs = require('ripple-keypairs')
const elliptic = require('elliptic')
const secp256k1 = elliptic.ec('secp256k1')
const ed25519 = elliptic.eddsa('ed25519')
function bytesToHex(a) {
return a.map(function(byteValue) {
const hex = byteValue.toString(16).toUpperCase()
return hex.length > 1 ? hex : '0' + hex
}).join('')
}
/* secp256k1 */
let secp256k1_privateKey = '00' + '0762EED5BA4F378FFA60621C6DEF72F4A0A579112ADA5F5D6B2A35EC27E893A5'
let secp256k1_keypair = {
privateKey: secp256k1_privateKey,
publicKey: bytesToHex(secp256k1.keyFromPrivate(secp256k1_privateKey.slice(2)).getPublic().encodeCompressed()),
}
console.log('secp256k1 Keypair, Address ', secp256k1_keypair, keypairs.deriveAddress(secp256k1_keypair.publicKey))
/* ed25519 */
let ed25519_privateKey = 'ED' + '3AD7B2EC2CFD134C500867164E4E257FD703C2CF4915E93A8CFC0CC7C2DBA46B'
let ed25519_keypair = {
privateKey: ed25519_privateKey,
publicKey: 'ED' + bytesToHex(ed25519.keyFromSecret(ed25519_privateKey.slice(2)).pubBytes()),
}
console.log('ed25519 Keypair, Address ', ed25519_keypair, keypairs.deriveAddress(ed25519_keypair.publicKey))
no comments