Skip to content

iota.codecs.TrytesDecodeError #4

@bernardoaraujor

Description

@bernardoaraujor

Iḿ trying to run the examples on Ubuntu 16.
Examples 03 and 08 don't work:

bernardoaraujo@laptop0092:~/dev/python-iota-workshop$ pip install -r requirements.txt 
Looking in indexes: https://artifactory.tttech.com/api/pypi/infrastructure.pypi/simple, https://pypi.python.org/simple/
Requirement already satisfied: PyOTA==2.0.7 in /home/bernardoaraujo/.local/lib/python2.7/site-packages (from -r requirements.txt (line 1)) (2.0.7)
Requirement already satisfied: pyzmq==18.0.1 in /home/bernardoaraujo/.local/lib/python2.7/site-packages (from -r requirements.txt (line 2)) (18.0.1)
Requirement already satisfied: pysha3 in /home/bernardoaraujo/.local/lib/python2.7/site-packages (from PyOTA==2.0.7->-r requirements.txt (line 1)) (1.0.2)
Requirement already satisfied: typing; python_version < "3.0" in /home/bernardoaraujo/.local/lib/python2.7/site-packages (from PyOTA==2.0.7->-r requirements.txt (line 1)) (3.7.4.1)
Requirement already satisfied: filters in /home/bernardoaraujo/.local/lib/python2.7/site-packages (from PyOTA==2.0.7->-r requirements.txt (line 1)) (1.3.2)
Requirement already satisfied: six in /home/bernardoaraujo/.local/lib/python2.7/site-packages (from PyOTA==2.0.7->-r requirements.txt (line 1)) (1.11.0)
Requirement already satisfied: requests[security]>=2.4.1 in /home/bernardoaraujo/.local/lib/python2.7/site-packages (from PyOTA==2.0.7->-r requirements.txt (line 1)) (2.18.4)
Requirement already satisfied: py2casefold; python_version < "3.0" in /home/bernardoaraujo/.local/lib/python2.7/site-packages (from filters->PyOTA==2.0.7->-r requirements.txt (line 1)) (1.0.1)
Requirement already satisfied: regex in /home/bernardoaraujo/.local/lib/python2.7/site-packages (from filters->PyOTA==2.0.7->-r requirements.txt (line 1)) (2019.11.1)
Requirement already satisfied: pytz in /home/bernardoaraujo/.local/lib/python2.7/site-packages (from filters->PyOTA==2.0.7->-r requirements.txt (line 1)) (2018.9)
Requirement already satisfied: python-dateutil in /home/bernardoaraujo/.local/lib/python2.7/site-packages (from filters->PyOTA==2.0.7->-r requirements.txt (line 1)) (2.8.0)
Requirement already satisfied: class-registry in /home/bernardoaraujo/.local/lib/python2.7/site-packages (from filters->PyOTA==2.0.7->-r requirements.txt (line 1)) (2.1.2)
Requirement already satisfied: certifi>=2017.4.17 in /home/bernardoaraujo/.local/lib/python2.7/site-packages (from requests[security]>=2.4.1->PyOTA==2.0.7->-r requirements.txt (line 1)) (2017.11.5)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /home/bernardoaraujo/.local/lib/python2.7/site-packages (from requests[security]>=2.4.1->PyOTA==2.0.7->-r requirements.txt (line 1)) (3.0.4)
Requirement already satisfied: idna<2.7,>=2.5 in /home/bernardoaraujo/.local/lib/python2.7/site-packages (from requests[security]>=2.4.1->PyOTA==2.0.7->-r requirements.txt (line 1)) (2.6)
Requirement already satisfied: urllib3<1.23,>=1.21.1 in /home/bernardoaraujo/.local/lib/python2.7/site-packages (from requests[security]>=2.4.1->PyOTA==2.0.7->-r requirements.txt (line 1)) (1.22)
Requirement already satisfied: cryptography>=1.3.4; extra == "security" in /home/bernardoaraujo/.local/lib/python2.7/site-packages (from requests[security]>=2.4.1->PyOTA==2.0.7->-r requirements.txt (line 1)) (2.4.1)
Requirement already satisfied: pyOpenSSL>=0.14; extra == "security" in /home/bernardoaraujo/.local/lib/python2.7/site-packages (from requests[security]>=2.4.1->PyOTA==2.0.7->-r requirements.txt (line 1)) (17.5.0)
Requirement already satisfied: enum34; python_version < "3" in /home/bernardoaraujo/.local/lib/python2.7/site-packages (from cryptography>=1.3.4; extra == "security"->requests[security]>=2.4.1->PyOTA==2.0.7->-r requirements.txt (line 1)) (1.1.6)
Requirement already satisfied: asn1crypto>=0.21.0 in /home/bernardoaraujo/.local/lib/python2.7/site-packages (from cryptography>=1.3.4; extra == "security"->requests[security]>=2.4.1->PyOTA==2.0.7->-r requirements.txt (line 1)) (0.24.0)
Requirement already satisfied: cffi!=1.11.3,>=1.7 in /home/bernardoaraujo/.local/lib/python2.7/site-packages (from cryptography>=1.3.4; extra == "security"->requests[security]>=2.4.1->PyOTA==2.0.7->-r requirements.txt (line 1)) (1.11.5)
Requirement already satisfied: ipaddress; python_version < "3" in /home/bernardoaraujo/.local/lib/python2.7/site-packages (from cryptography>=1.3.4; extra == "security"->requests[security]>=2.4.1->PyOTA==2.0.7->-r requirements.txt (line 1)) (1.0.22)
Requirement already satisfied: pycparser in /home/bernardoaraujo/.local/lib/python2.7/site-packages (from cffi!=1.11.3,>=1.7->cryptography>=1.3.4; extra == "security"->requests[security]>=2.4.1->PyOTA==2.0.7->-r requirements.txt (line 1)) (2.19)
You are using pip version 18.1, however version 19.3.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
bernardoaraujo@laptop0092:~/dev/python-iota-workshop$ 
bernardoaraujo@laptop0092:~/dev/python-iota-workshop$ 
bernardoaraujo@laptop0092:~/dev/python-iota-workshop$ 
bernardoaraujo@laptop0092:~/dev/python-iota-workshop$ python code/e03_receive_hello.py 


Transaction SUYOJZ9DDGFCCGEPQAHGWAHQSIZVVJHBODFEZT9TXPHPQFNQMCU9ZIKZO9QFSKZZ9R9YQGEIQNIRQR999 (tag HELLOWORLD99999999999999999):
I did it!


Transaction HNCNZZKFDMWKZ9N9NXPMBCXAOGKZUGKRCKTMRPGLHEDUXPPAELUWMTJHTOQRLEMWHMSWIDWSFSGCQN999 (tag HELLOWORLD99999999999999999):
You did it!


Transaction KBOOLQGBQKU9KNJDLJZHLGNFQSEYBTRHHDVPPWWTBUHHUIADKPTJNQKTMMIY9RNFFMXPYIMXGVKQNC999 (tag MARIO9999999999999999999999):
Traceback (most recent call last):
  File "code/e03_receive_hello.py", line 36, in <module>
    print(message.decode())
  File "/home/bernardoaraujo/.local/lib/python2.7/site-packages/iota/types.py", line 565, in decode
    bytes_ = decode(trytes, AsciiTrytesCodec.name, errors)
  File "/home/bernardoaraujo/.local/lib/python2.7/site-packages/iota/codecs.py", line 156, in decode
    'input': input,
iota.codecs.TrytesDecodeError: 'trytes_ascii' codec can't decode value; tryte sequence has odd length.
bernardoaraujo@laptop0092:~/dev/python-iota-workshop$ 
bernardoaraujo@laptop0092:~/dev/python-iota-workshop$ 
bernardoaraujo@laptop0092:~/dev/python-iota-workshop$ 
bernardoaraujo@laptop0092:~/dev/python-iota-workshop$ python code/e08_receive_data.py 
Traceback (most recent call last):
  File "code/e08_receive_data.py", line 45, in <module>
    pprint.pprint(json.loads(full_message.decode()))
  File "/home/bernardoaraujo/.local/lib/python2.7/site-packages/iota/types.py", line 565, in decode
    bytes_ = decode(trytes, AsciiTrytesCodec.name, errors)
  File "/home/bernardoaraujo/.local/lib/python2.7/site-packages/iota/codecs.py", line 187, in decode
    'input': input,
iota.codecs.TrytesDecodeError: 'trytes_ascii' codec can't decode trytes WJ at position 2186-2187: ordinal not in range(255)

Problem seems to be related to https://github.com/iotaledger/iota.py/blob/master/iota/codecs.py
Not sure whether I should report this here or at PyOTA's repo, but my guess is that probably something changed in the API and the example codes need to be adapted accordingly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions