# For s in signed\_hextx.split('80a0'): AttributeError: 'dict' object has no attribute 'split'

**URL:** <https://community.blockcerts.org/t/for-s-in-signed-hextx-split-80a0-attributeerror-dict-object-has-no-attribute-split/1838>\
**Category:** Technical\
**Created:** [April 17, 2019, 5:32pm UTC](https://community.blockcerts.org/t/for-s-in-signed-hextx-split-80a0-attributeerror-dict-object-has-no-attribute-split/1838 "2019-04-17T17:32:14Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![johnwick](https://sea2.discourse-cdn.com/flex016/user_avatar/community.blockcerts.org/johnwick/32/565_2.png) [@johnwick](https://community.blockcerts.org/u/johnwick)\
**Post date:** [April 17, 2019, 5:32pm UTC](https://community.blockcerts.org/t/for-s-in-signed-hextx-split-80a0-attributeerror-dict-object-has-no-attribute-split/1838/1 "2019-04-17T17:32:14Z")

</div>

Hi, I am currently working on my college project where I am using blockcerts on ethereum\_ropsten network. After all the configuration, when I try to issue the cerificate it throws AttributeError: ‘dict’ object has no attribute ‘split’. When I dug down a bit more into the code, i found that there were no commands regarding conversion of **signed\_tx** to **signed\_hextx**. Can that be a reason for the error. Any help is appriciated.

Thanks in advance.  
-Gaurav

---

<div class="post-metadata">

**Author:** ![aronning](https://avatars.discourse-cdn.com/v4/letter/a/47e85d/32.png) [@aronning](https://community.blockcerts.org/u/aronning)\
**Post date:** [April 19, 2019, 3:21pm UTC](https://community.blockcerts.org/t/for-s-in-signed-hextx-split-80a0-attributeerror-dict-object-has-no-attribute-split/1838/2 "2019-04-19T15:21:24Z")

</div>

Do you have a stack trace and complete log that you could share? I haven’t seen this error myself with ethereum.

---

<div class="post-metadata">

**Author:** ![johnwick](https://sea2.discourse-cdn.com/flex016/user_avatar/community.blockcerts.org/johnwick/32/565_2.png) [@johnwick](https://community.blockcerts.org/u/johnwick)\
**Post date:** [April 24, 2019, 7:06am UTC](https://community.blockcerts.org/t/for-s-in-signed-hextx-split-80a0-attributeerror-dict-object-has-no-attribute-split/1838/3 "2019-04-24T07:06:50Z")

</div>

Hi @aronning, sorry for responding late, my semester exams are going on ☹ , here’s the complete log which I get in my terminal:

```
WARNING - 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 - This run will try to issue on the ethereum_ropsten chain
INFO - Set cost constants to recommended_gas_price=20000000000.000000, recommended_gas_limit=25000.000000
INFO - Set cost constants to recommended_gas_price=20000000000.000000, recommended_gas_limit=25000.000000
INFO - Processing 1 certificates
INFO - Processing 1 certificates
INFO - Processing 1 certificates under work path=/etc/cert-issuer/work
INFO - Processing 1 certificates under work path=/etc/cert-issuer/work
INFO - Balance check succeeded: {'status': '1', 'message': 'OK', 'result': '1000000000000000000'}
INFO - Balance check succeeded: {'status': '1', 'message': 'OK', 'result': '1000000000000000000'}
INFO - Total cost will be 500000000000000 wei
INFO - Total cost will be 500000000000000 wei
INFO - Starting finalizable signer
INFO - Starting finalizable signer
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
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 - Stopping finalizable signer
INFO - Stopping finalizable signer
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
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 - here is the op_return_code data: c65c6184e3d5a945ddb5437e93ea312411fd33aa1def22b0746d6ecd4aa30f20
INFO - here is the op_return_code data: c65c6184e3d5a945ddb5437e93ea312411fd33aa1def22b0746d6ecd4aa30f20
INFO - Nonce check went correct: {'jsonrpc': '2.0', 'result': '0x0', 'id': 1}
INFO - Nonce check went correct: {'jsonrpc': '2.0', 'result': '0x0', 'id': 1}
INFO - Starting finalizable signer
INFO - Starting finalizable signer
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
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 - Stopping finalizable signer
INFO - Stopping finalizable signer
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
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 - signed Ethereum trx = {'error': True, 'message': AttributeError("can't set attribute",)}
INFO - signed Ethereum trx = {'error': True, 'message': AttributeError("can't set attribute",)}
INFO - verifying ethDataField value for transaction
INFO - verifying ethDataField value for transaction
Traceback (most recent call last):
  File "/usr/local/bin/cert-issuer", line 11, in <module>
sys.exit(cert_issuer_main())
  File "/usr/local/lib/python3.6/dist-packages/cert_issuer/ __main__.py", line 17, in cert_issuer_main
issue_certificates.main(parsed_config)
  File "/usr/local/lib/python3.6/dist-packages/cert_issuer/issue_certificates.py", line 36, in main
return issue(app_config, certificate_batch_handler, transaction_handler)
  File "/usr/local/lib/python3.6/dist-packages/cert_issuer/issue_certificates.py", line 22, in issue
tx_id = issuer.issue(app_config.chain)
  File "/usr/local/lib/python3.6/dist-packages/cert_issuer/issuer.py", line 27, in issue
txid = self.transaction_handler.issue_transaction(blockchain_bytes)
  File "/usr/local/lib/python3.6/dist-packages/cert_issuer/blockchain_handlers/ethereum/transaction_handlers.py", line 61, in issue_transaction
self.verify_transaction(signed_tx, eth_data_field)
  File "/usr/local/lib/python3.6/dist-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/local/lib/python3.6/dist-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'
```

---

<div class="post-metadata">

**Author:** ![aronning](https://avatars.discourse-cdn.com/v4/letter/a/47e85d/32.png) [@aronning](https://community.blockcerts.org/u/aronning)\
**Post date:** [May 9, 2019, 2:26am UTC](https://community.blockcerts.org/t/for-s-in-signed-hextx-split-80a0-attributeerror-dict-object-has-no-attribute-split/1838/4 "2019-05-09T02:26:56Z")

</div>

> [@johnwick](#):
>
> {‘error’: True, ‘message’: AttributeError(“can’t set attribute”,)}

So it looks like this is the real reason for the error. The signed transaction had a problem getting generated correctly (and no error handling here) which causes the `verifying ethDataField value for transaction` to throw an error later on.

I’ve never seen this error before, wonder what could be wrong generating the transaction. Would you mind posting your config file?

---

<div class="post-metadata">

**Author:** ![jenil\_thakker](https://avatars.discourse-cdn.com/v4/letter/j/58956e/32.png) [@jenil\_thakker](https://community.blockcerts.org/u/jenil_thakker)\
**Post date:** [June 19, 2019, 8:17pm UTC](https://community.blockcerts.org/t/for-s-in-signed-hextx-split-80a0-attributeerror-dict-object-has-no-attribute-split/1838/5 "2019-06-19T20:17:55Z")

</div>

Hi,  
I have the same error. Here’s my config file:  
issuing\_address = 0x2bF81856b6d2243Ed85bA2b937adAFB21341556C

chain = ethereum\_ropsten

usb\_name=/Users/jenilthakker/Desktop/Coding/blockchain-certificate/ethereum

key\_file=pk

# put your unsigned certificates here for signing. Default is /data/unsigned\_certificates

unsigned\_certificates\_dir=/Users/jenilthakker/Desktop/Coding/cert-issuer/data/unsigned\_certificates

# final blockchain certificates output. Default is /data/unsigned\_certificates

blockchain\_certificates\_dir=/Users/jenilthakker/Desktop/Coding/cert-issuer/data/blockchain\_certificates

# where to store intermediate files, for debugging and checkpointing. Default is /data/work

work\_dir=/Users/jenilthakker/Desktop/Coding/cert-issuer/data/work

no\_safe\_mode

---

<div class="post-metadata">

**Author:** ![aronning](https://avatars.discourse-cdn.com/v4/letter/a/47e85d/32.png) [@aronning](https://community.blockcerts.org/u/aronning)\
**Post date:** [July 17, 2019, 12:49pm UTC](https://community.blockcerts.org/t/for-s-in-signed-hextx-split-80a0-attributeerror-dict-object-has-no-attribute-split/1838/6 "2019-07-17T12:49:38Z")

</div>

Are you using the default certificates to test out or did you create/edit your own?

---

<div class="post-metadata">

**Author:** ![arycloud](https://avatars.discourse-cdn.com/v4/letter/a/85f322/32.png) [@arycloud](https://community.blockcerts.org/u/arycloud)\
**Post date:** [February 18, 2020, 9:46am UTC](https://community.blockcerts.org/t/for-s-in-signed-hextx-split-80a0-attributeerror-dict-object-has-no-attribute-split/1838/7 "2020-02-18T09:46:29Z")

</div>

Anyone found the solution, I’m still facing the same issue?

---

<div class="post-metadata">

**Author:** ![arycloud](https://avatars.discourse-cdn.com/v4/letter/a/85f322/32.png) [@arycloud](https://community.blockcerts.org/u/arycloud)\
**Post date:** [February 19, 2020, 5:45am UTC](https://community.blockcerts.org/t/for-s-in-signed-hextx-split-80a0-attributeerror-dict-object-has-no-attribute-split/1838/8 "2020-02-19T05:45:00Z")

</div>

I’m facing the same issue, tried both with the default certificates and also with my own certificated (edit the example certificates and put my own key).  
Here’s my TraceBack:

> Traceback (most recent call last):  
> File “/Users/abdul/PycharmProjects/cert-issuer/venv/bin/cert-issuer”, line 11, in  
> load\_entry\_point(‘cert-issuer==2.0.22’, ‘console\_scripts’, ‘cert-issuer’)()  
> File “/Users/abdul/PycharmProjects/cert-issuer/venv/lib/python3.5/site-packages/cert\_issuer-2.0.22-py3.5.egg/cert\_issuer/ **main**.py”, line 17, in cert\_issuer\_main  
> issue\_certificates.main(parsed\_config)  
> File “/Users/abdul/PycharmProjects/cert-issuer/venv/lib/python3.5/site-packages/cert\_issuer-2.0.22-py3.5.egg/cert\_issuer/issue\_certificates.py”, line 36, in main  
> return issue(app\_config, certificate\_batch\_handler, transaction\_handler)  
> File “/Users/abdul/PycharmProjects/cert-issuer/venv/lib/python3.5/site-packages/cert\_issuer-2.0.22-py3.5.egg/cert\_issuer/issue\_certificates.py”, line 22, in issue  
> tx\_id = issuer.issue(app\_config.chain)  
> File “/Users/abdul/PycharmProjects/cert-issuer/venv/lib/python3.5/site-packages/cert\_issuer-2.0.22-py3.5.egg/cert\_issuer/issuer.py”, line 27, in issue  
> txid = self.transaction\_handler.issue\_transaction(blockchain\_bytes)  
> File “/Users/abdul/PycharmProjects/cert-issuer/venv/lib/python3.5/site-packages/cert\_issuer-2.0.22-py3.5.egg/cert\_issuer/blockchain\_handlers/ethereum/transaction\_handlers.py”, line 61, in issue\_transaction  
> self.verify\_transaction(signed\_tx, eth\_data\_field)  
> File “/Users/abdul/PycharmProjects/cert-issuer/venv/lib/python3.5/site-packages/cert\_issuer-2.0.22-py3.5.egg/cert\_issuer/blockchain\_handlers/ethereum/transaction\_handlers.py”, line 92, in verify\_transaction  
> tx\_utils.verify\_eth\_transaction(signed\_tx, eth\_data\_field)  
> File “/Users/abdul/PycharmProjects/cert-issuer/venv/lib/python3.5/site-packages/cert\_issuer-2.0.22-py3.5.egg/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’**

---

<div class="post-metadata">

**Author:** ![semonbright](https://avatars.discourse-cdn.com/v4/letter/s/f9ae1b/32.png) [@semonbright](https://community.blockcerts.org/u/semonbright)\
**Post date:** [January 18, 2021, 4:15pm UTC](https://community.blockcerts.org/t/for-s-in-signed-hextx-split-80a0-attributeerror-dict-object-has-no-attribute-split/1838/9 "2021-01-18T16:15:32Z")

</div>

> [@arycloud](#):
>
> AttributeError: ‘dict’ object has no attribute 'split’

The AttributeError is an exception thrown when an object does not have the attribute you tried to access. ‘dict’ object has no attribute ‘split’ error is that you’re trying to call [python split](http://net-informations.com/python/file/split.htm) function on the dict , and you can’t split dict elements, only a string. The string consists of a sequence of comma-separated bindings.

---

<div class="post-metadata">

**Author:** ![testemailid9101](https://avatars.discourse-cdn.com/v4/letter/t/edb3f5/32.png) [@testemailid9101](https://community.blockcerts.org/u/testemailid9101)\
**Post date:** [May 28, 2021, 11:15am UTC](https://community.blockcerts.org/t/for-s-in-signed-hextx-split-80a0-attributeerror-dict-object-has-no-attribute-split/1838/10 "2021-05-28T11:15:07Z")

</div>

hi there, any update on this. did anybody resolved this?

It also outputs some HTML content that says:

 ![image](https://us1.discourse-cdn.com/flex016/uploads/blockcerts/original/1X/c4b3a49e96c0e8483e6e4609688dddb21691d640.png)
