Cert-issuer: error on base58 decode when issuing certificate

Hi,

I’m getting an error when following the quick steps on the cert-issuer README.
Specifically on the command cert-issuer -c /etc/cert-issuer/conf.ini

bash-4.3# cert-issuer -c /etc/cert-issuer/conf.ini
WARNING:root:Your app is configured to skip the wifi check when the USB is plugged in. Read the documentation to ensure this is what you want, since this is less secure
INFO:root:Processing 1 certificates
INFO - Processing 1 certificates
INFO:root:Processing 1 certificates under work path=/etc/cert-issuer/work
INFO - Processing 1 certificates under work path=/etc/cert-issuer/work
INFO:root:Signing certificates...
INFO - Signing certificates...
INFO:root:Set cost constants to recommended_tx_fee=0.000600,min_per_output=0.000028,satoshi_per_byte=250
INFO - Set cost constants to recommended_tx_fee=0.000600,min_per_output=0.000028,satoshi_per_byte=250
INFO:root:Total cost will be 106750 satoshis
INFO - Total cost will be 106750 satoshis
INFO:root:Preparing certificate batch
INFO - Preparing certificate batch
INFO:root:Signing certificates
INFO - Signing certificates
INFO:root:Starting finalizable transaction signer
INFO - Starting finalizable transaction signer
WARNING:root:app is configured to skip the wifi check when the USB is plugged in. Read the documentation to ensure this is what you want, since this is less secure
WARNING - app is configured to skip the wifi check when the USB is plugged in. Read the documentation to ensure this is what you want, since this is less secure
INFO:root:Stopping finalizable transaction signer
INFO - Stopping finalizable transaction signer
WARNING:root:app is configured to skip the wifi check when the USB is plugged in. Read the documentation to ensure this is what you want, since this is less secure
WARNING - app is configured to skip the wifi check when the USB is plugged in. Read the documentation to ensure this is what you want, since this is less secure
INFO:root:Preparing certificate batch
INFO - Preparing certificate batch
INFO:root:Issuing the certificates on the blockchain
INFO - Issuing the certificates on the blockchain
Traceback (most recent call last):
  File "/usr/bin/cert-issuer", line 11, in <module>
    load_entry_point('cert-issuer==2.0b5', 'console_scripts', 'cert-issuer')()
  File "/usr/lib/python3.5/site-packages/cert_issuer/__main__.py", line 17, in cert_issuer_main
    issue_certificates.main(parsed_config)
  File "/usr/lib/python3.5/site-packages/cert_issuer/issue_certificates.py", line 72, in main
    tx_id = issuer.issue_certificates()
  File "/usr/lib/python3.5/site-packages/cert_issuer/issuer.py", line 132, in issue_certificates
    tx_id = self.issue_on_blockchain()
  File "/usr/lib/python3.5/site-packages/cert_issuer/issuer.py", line 69, in issue_on_blockchain
    tx = self.transaction_handler.create_transaction(inputs, op_return_value_bytes)
  File "/usr/lib/python3.5/site-packages/cert_issuer/transaction_handler.py", line 45, in create_transaction
    self.tx_cost_constants.get_minimum_output_coin()))
  File "/usr/lib/python3.5/site-packages/cert_issuer/tx_utils.py", line 105, in create_transaction_output
    bitcoin_address = CBitcoinAddress(address)
  File "/usr/lib/python3.5/site-packages/bitcoin/base58.py", line 105, in __new__
    k = decode(s)
  File "/usr/lib/python3.5/site-packages/bitcoin/base58.py", line 77, in decode
    raise InvalidBase58Error('Character %r is not a valid base58 character' % c)
bitcoin.base58.InvalidBase58Error: Character '<' is not a valid base58 character

I opened the file “base58.py” and found the following string:
b58_digits = ‘123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz’

My assumption is that the code looks for each hash character in the array and fails to find one of them.
I noticed there’s no “0” character in the string, but there is a “0” in the hash values from the following commands:

bitcoin-cli generate 101
bitcoin-cli getbalance
bitcoin-cli sendtoaddress $issuer 5

Could this be the reason for the above stated error? If so, could you please provide further debug steps?

Hi!
It looks like there is a problem with the issuer address. Can you check the value of $issuer? It should also be in your conf.ini file.

Thanks,
Kim