public String toBase58() {
byte[] data = new byte[25];
data[0] = COIN_VERSION;
System.arraycopy(toArray(), 0, data, 1, 20);
byte[] checksum = Digest.sha256(Digest.sha256(data, 0, 21));
System.arraycopy(checksum, 0, data, 21, 4);
return Base58.encode(data);
}