code: def b58encode(v):
      
  
      long_value = 0
      for c in v:
          long_value = long_value * 256 + c
  
      result = ""
      while long_value >= __b58base:
          div, mod = divmod(long_value, __b58base)
          result = __b58chars[mod] + result
          long_value = div
      result = __b58chars[long_value] + result
  
      # Bitcoin does a little leading-zero-compression:
      # leading 0-bytes in the input become leading-1s
      nPad = 0
      for c in v:
          if c == 0:
              nPad += 1
          else:
              break
  
      return (__b58chars[0] * nPad) + result
docs: encode v, which is a string of bytes, to base58.