Kotlin implementation for bip39-address-key2value
Encode
val payload = "Hello World!"
val key = "key"
val type = TypeBip39Address.ASCII
var address = bip39Address.encode(type, key, payload)
println("Mx"+address) // Mx0248656c6c6f20576f726c6421016b6579015e61
Decode
val address = "0248656c6c6f20576f726c6421016b6579015e61"
bip39Address.decode(address)?.let {
println(it) // ObjBip39Address(type=ASCII, topic=key, payload=48656c6c6f20576f726c64)
val _payload = it.payload
if (it.type == TypeBip39Address.INTEGER) {
println(Integer.parseInt(_payload, 16))
} else if (it.type == TypeBip39Address.ASCII) {
println(HelpHex().getText(_payload)) // Hello World!
}
}