encode static method
Encodes bytes to Base58 string.
Implementation
static String encode(Uint8List bytes) {
if (bytes.isEmpty) return '';
// Count leading zeros
var leadingZeros = 0;
for (final b in bytes) {
if (b == 0) {
leadingZeros++;
} else {
break;
}
}
// Convert to BigInt
var value = BigInt.zero;
for (final b in bytes) {
value = (value << 8) | BigInt.from(b);
}
// Convert to base58
final result = StringBuffer();
while (value > BigInt.zero) {
final remainder = (value % BigInt.from(58)).toInt();
value = value ~/ BigInt.from(58);
result.write(_alphabet[remainder]);
}
// Add leading '1's for leading zeros
for (var i = 0; i < leadingZeros; i++) {
result.write('1');
}
return result.toString().split('').reversed.join();
}