code: func NewEncoder(source string) (*Encoder, error) {
  
  	if len(source) != 58 {
  		return nil, errors.New("base58: encoding source is not 58-bytes long")
  	}
  
  	enc := new(Encoder)
  
  	for i := range enc.decodeMap {
  		enc.decodeMap[i] = -1
  	}
  
  	for i := range source {
  		enc.encode[i] = source[i]
  		enc.decodeMap[enc.encode[i]] = i
  	}
  
  	return enc, nil
  }
docs: // NewEncoder returns new base58.Encoder.