Method: Bitcoin::Base58.encode

Defined in:
lib/bitcoin/base58.rb

.encode(hex) ⇒ Object

encode hex value to base58 string.



12
13
14
15
16
17
18
19
20
21
# File 'lib/bitcoin/base58.rb', line 12

def encode(hex)
  leading_zero_bytes = (hex.match(/^([0]+)/) ? $1 : '').size / 2
  int_val = hex.to_i(16)
  base58_val = ''
  while int_val > 0
    int_val, remainder = int_val.divmod(SIZE)
    base58_val = ALPHABET[remainder] + base58_val
  end
  ('1' * leading_zero_bytes) + base58_val
end