Home Foren Trezor Wallet Wiederherstellung von Ethereum von Trezor mit alter Firmware | trezorctl

  • Dieses Thema hat 2 Antworten und 1 Teilnehmer, und wurde zuletzt aktualisiert vor 10 Monaten von oktay50000.
Ansicht von 2 Antwort-Themen
  • Autor
    Beiträge
    • #2615155
      root_s2yse8vt
      Administrator
      Up
      0
      Down
      ::

      Hallo,

      ich stehe gerade vor einem Problem mit meiner Trezor Hardware Wallet und einer alten Firmware-Version (1.5.2). Leider habe ich keinen Zugriff mehr auf den Recovery Seed, was mich daran hindert, die Firmware zu aktualisieren. Ich habe meine Bitcoin erfolgreich mit der Mycelium Android-App abgerufen, aber sie unterstützt Ethereum auf dem Trezor nicht.

      Ich habe bereits versucht, die alte Trezor Bridge zu verwenden – ohne Erfolg. Ich habe jedoch einige Fortschritte gemacht, indem ich eine ältere Version von Trezorctl (0.9.0) installiert habe.

      Mit dem Befehl trezorctl ethereum-get-address -n “‘m/44’60’/0’/0/0′” konnte ich die korrekte Ethereum-Adresse für mein Guthaben ermitteln.

      Jetzt versuche ich, eine Transaktion über Trezorctl zu erstellen, aber ich stoße auf einen Fehler. Hier ist der Befehl, den ich verwendet habe:

      trezorctl ethereum-sign-tx -c 0 -n “m/44’/60’/0’/0/0” -v “1 milliether” -g “21000” -t “70 gwei” “0x04C1a5ad367fb9E1F978ff9fC91970eb2Bc2fA74”

      Leider gibt der obige Befehl den folgenden Fehler aus:

      Traceback (letzter Aufruf):
      Datei “/usr/bin/trezorctl”, Zeile 847, in <module>
      cli()
      Datei “/usr/lib/python3/dist-packages/click/core.py”, Zeile 764, in __call__
      return self.main(*args, **kwargs)
      Datei “/usr/lib/python3/dist-packages/click/core.py”, Zeile 717, in main
      rv = self.invoke(ctx)
      Datei “/usr/lib/python3/dist-packages/click/core.py”, Zeile 1137, in invoke
      return _process_result(sub_ctx.command.invoke(sub_ctx))
      Datei “/usr/lib/python3/dist-packages/click/core.py”, Zeile 956, in invoke
      return ctx.invoke(self.callback, **ctx.params)
      Datei “/usr/lib/python3/dist-packages/click/core.py”, Zeile 555, in invoke
      return callback(*args, **kwargs)
      Datei “/usr/lib/python3/dist-packages/click/decorators.py”, Zeile 27, in new_func
      return f(get_current_context().obj, *args, **kwargs)
      Datei “/usr/bin/trezorctl”, Zeile 683, in ethereum_sign_tx
      von ethjsonrpc import EthJsonRpc
      Datei “/home/debian/.local/lib/python3.7/site-packages/ethjsonrpc/__init__.py”, Zeile 1, in <module>
      from ethjsonrpc.client import (EthJsonRpc, ParityEthJsonRpc,
      Datei “/home/debian/.local/lib/python3.7/site-packages/ethjsonrpc/client.py”, Zeile 7, in <module>
      von ethereum import utils
      Datei “/home/debian/.local/lib/python3.7/site-packages/ethereum/utils.py”, Zeile 103, in <module>
      assert sha3(”).encode(‘hex’) == ‘c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470’
      AttributeError: Das Objekt ‘bytes’ hat kein Attribut ‘encode’

      Ich wäre sehr dankbar für Hinweise oder Vorschläge aus der Community, die mir helfen, dieses Problem zu lösen und die Transaktion erfolgreich zu erstellen.

      Vielen Dank, Dave

    • #2615156
      bullett007
      Gast
      Up
      0
      Down
      ::

      Chat GPT4: The error message that you are seeing is a result of a Python code trying to invoke the `encode()` method on a `bytes` object. The `encode()` method is typically used with `str` (string) objects in Python to convert them to bytes. However, it seems like the object in question here is already in bytes form, hence the error.

      The line in your error message that says:

      “`python
      assert sha3(”).encode(‘hex’) == ‘c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470’
      “`

      It’s trying to generate a SHA-3 hash of an empty string and encode it to hexadecimal. However, it seems like the library you are using (possibly an older version) is using the syntax of Python 2, where `encode(‘hex’)` could be used to convert bytes to a hexadecimal string. In Python 3, you should use `bytes_object.hex()` instead.

      A solution to this could be to modify this line of code. However, since you’re not the author of this library, and it seems like you’re using it as a dependency, it would be best to look for an updated version of this library that is compatible with Python 3.

      If this library is not maintained anymore, you might need to find an alternative library that provides similar functionality. If that is not possible, you might need to fix the issue yourself by downloading the source code of the library, fixing the issue, and then installing it from your local copy. However, this should be your last resort and only considered if you’re confident in your programming and debugging skills.

      Here’s how you might fix it if you were to go down that route:

      Find the offending line and change it from this:

      “`python
      assert sha3(”).encode(‘hex’) == ‘c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470’
      “`

      to this:

      “`python
      assert sha3(”).hex() == ‘c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470’
      “`

      This is assuming that the `sha3(”)` function call returns a `bytes` object. If `sha3(”)` doesn’t return a `bytes` object, you’ll need to adjust this code accordingly.

      Lastly, it’s also possible that this problem is due to an incompatible environment, make sure that your Python environment is correct and all the dependencies of the project are installed. Make sure to use Python 3, since Python 2 has been officially deprecated as of 2020.

    • #2615157
      oktay50000
      Gast
      Up
      0
      Down
      ::

      Have you tried exodus

Ansicht von 2 Antwort-Themen
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.