code: func (enc *Encoding) Decode(src []byte) ([]byte, error) {
  	if len(src) == 0 {
  		return []byte{}, nil
  	}
  	var zeros []byte
  	for i, c := range src {
  		if c == enc.alphabet[0] && i < len(src)-1 {
  			zeros = append(zeros, '0')
  		} else {
  			break
  		}
  	}
  	n := new(big.Int)
  	var i int64
  	for _, c := range src {
  		if i = enc.decodeMap[c]; i < 0 {
  			return nil, fmt.Errorf("invalid character '%c' in decoding a base58 string \"%s\"", c, src)
  		}
  		n.Add(n.Mul(n, radix), big.NewInt(i))
  	}
  	return n.Append(zeros, 10), nil
  }
docs: // Decode decodes the base58 encoded bytes.