Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cert-issuer Ethereum testnet setup failing #107

Closed
endlos opened this issue Sep 5, 2018 · 5 comments

Comments

Projects
None yet
3 participants
@endlos
Copy link

commented Sep 5, 2018

I followed the steps here to build the docker container for cert-issuer, and also replacing libressl-dev for openssl-dev to overcome the errors I got, as shown here.

Then after running this (using python3.6 with virtualenv):

(venv) bash-4.3# python setup.py experimental --blockchain=ethereum

I got this error:

ethereum 2.3.2 has requirement rlp<2.0.0,>=1.0.1, but you'll have rlp 0.6.0 which is incompatible.
Installing collected packages: rlp
  Found existing installation: rlp 1.0.2
    Uninstalling rlp-1.0.2:
      Successfully uninstalled rlp-1.0.2
Successfully installed rlp-0.6.0

I found this which suggests adding rlp<1 to "ethereum_requirements.txt", but it is already added, so I changed "rlp<1" to "rlp>=1" and the setup seemed to complete successfully.

Then I get this error, after running:

(venv) bash-4.3# cert-issuer -c /etc/cert-issuer/conf.ini

...

Traceback (most recent call last):
  File "/usr/bin/cert-issuer", line 11, in <module>
    load_entry_point('cert-issuer==2.0.15', 'console_scripts', 'cert-issuer')()
  File "/usr/lib/python3.6/site-packages/cert_issuer/__main__.py", line 17, in cert_issuer_main
    issue_certificates.main(parsed_config)
  File "/usr/lib/python3.6/site-packages/cert_issuer/issue_certificates.py", line 36, in main
    return issue(app_config, certificate_batch_handler, transaction_handler)
  File "/usr/lib/python3.6/site-packages/cert_issuer/issue_certificates.py", line 22, in issue
    tx_id = issuer.issue(app_config.chain)
  File "/usr/lib/python3.6/site-packages/cert_issuer/issuer.py", line 27, in issue
    txid = self.transaction_handler.issue_transaction(blockchain_bytes)
  File "/usr/lib/python3.6/site-packages/cert_issuer/blockchain_handlers/ethereum/transaction_handlers.py", line 61, in issue_transaction
    self.verify_transaction(signed_tx, eth_data_field)
  File "/usr/lib/python3.6/site-packages/cert_issuer/blockchain_handlers/ethereum/transaction_handlers.py", line 92, in verify_transaction
    tx_utils.verify_eth_transaction(signed_tx, eth_data_field)
  File "/usr/lib/python3.6/site-packages/cert_issuer/blockchain_handlers/ethereum/tx_utils.py", line 24, in verify_eth_transaction
    for s in signed_hextx.split('80a0'):
  AttributeError: 'dict' object has no attribute 'split'

Previously reported this in the Community forum in this post and posting it here as requested.

Thanks.

@stuartf

This comment has been minimized.

Copy link

commented Sep 6, 2018

I'm seeing this as well. It looks like verify_eth_transaction is expecting a string that it can split, but gets a dict representing an error: {'error': True, 'message': AttributeError("can't set attribute",)} that came out of sign_transaction

@endlos

This comment has been minimized.

Copy link
Author

commented Sep 6, 2018

A workaround is forcing ethereum==2.3.1 while leaving rlp<1 in ethereum_requirements.txt

ethereum==2.3.1
rlp<1

Credits go to @AnthonyRonning for his suggestion in the forum here!

@endlos endlos closed this Sep 6, 2018

@stuartf

This comment has been minimized.

Copy link

commented Sep 6, 2018

I'd suggest leaving this open or opening a new issue that those dependency versions need to be pinned or the code updated to work with the new versions.

@AnthonyRonning AnthonyRonning reopened this Sep 7, 2018

@AnthonyRonning

This comment has been minimized.

Copy link
Contributor

commented Sep 7, 2018

Thanks @stuartf, I agree. I'll get a PR for that fix. Thanks for confirming that @endlos

AnthonyRonning added a commit to AnthonyRonning/cert-issuer that referenced this issue Sep 7, 2018

AnthonyRonning added a commit that referenced this issue Sep 7, 2018

Merge pull request #109 from AnthonyRonning/master
Force ethereum python version to 2.3.1 (#107)
@AnthonyRonning

This comment has been minimized.

Copy link
Contributor

commented Sep 7, 2018

We've got that merged in, and opened #110 tracking the dependency issue in the first place. Always good to be on the latest versions, we just need to ensure that they work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.