Testen Sie die Trezor-T Firmware auf Ihrem Laptop mit dem Trezor Emulator

Home Foren Trezor Wallet Testen Sie die Trezor-T Firmware auf Ihrem Laptop mit dem Trezor Emulator

Ansicht von 0 Antwort-Themen
  • Autor
    Beiträge
    • #4449
      admin
      Mitglied
      Up
      0
      Down
      ::

      ^(Dies ist SEHR technisch und völlig UNSUPPORTED. Bitte schreiben Sie keine Support-Tickets. Antworten Sie einfach auf diesen Thread).

      [Trezor-T Emulator running under Windows 10](https://preview.redd.it/gfi5i2uqne7b1.jpg?width=864&format=pjpg&auto=webp&v=enabled&s=210a0024724162747ebc3752b6b6c6acd31a564a)

      Die meisten wissen vielleicht nicht, dass Trezor einen Trezor-T-Emulator unterhält, der unter Windows, Linux oder macOS läuft. Das ist SEHR nützlich, wenn man Firmware-Builds durchführt und sie vor dem Laden auf die Hardware testen möchte. Um ihn zu verwenden, müssen Sie ihn aus dem Quellcode erstellen, aber wenn Sie geduldig sind und sich mit dem Kompilieren von Code auskennen, ist das gar nicht so schwer.

      ## Warnung

      Dies ist ein technisches Spielzeug zum Ausprobieren von Funktionen. Halten Sie KEINE Assets im Emulator. Geben Sie KEINE Seed-Mnemonics in den Emulator ein. Legen Sie KEINE Passphrasen in den Emulator. Außerdem wird er, AFAIK, überhaupt nicht unterstützt. Melden Sie keine Probleme an oder beschweren Sie sich, wenn er kaputt ist. Nörgeln Sie einfach in diesem Thread, wenn Sie sich Luft machen müssen. Informieren Sie sich über Testnet-Münzen, wenn Sie Transaktionen durchführen wollen. Legen Sie KEINE echten Münzen hier an.

      * [Bitcoin Testnet](https://developer.bitcoin.org/examples/testing.html#testnet)
      * [Ethereum Testnet](https://ethereum.org/en/developers/docs/networks/#ethereum-testnets)

      Wenn Sie Fragen oder Probleme haben, posten Sie in diesem Thread, oder, wenn Sie reddit zu feindselig finden, können Sie in der [GitHub discussion board](https://github.com/brianddk/reddit/discussions/1) posten, die mit meinen Beiträgen verknüpft ist. Bitte schreibe mir kein DM.

      ## Fenster

      Ich fange mit Windows an, da ich derzeit unter diesem Betriebssystem arbeite. Dieser Prozess ist nur am Rande „Windows“. Es ist eigentlich etwas, das WSL genannt wird, was effektiv Linux auf Windows ist. Ähnlich vielleicht wie Andorid-on-ChromeOS oder ähnliche Projekte. WSL mag „technisch“ ein Container sein, aber es integriert sich ziemlich nahtlos in Windows. Die meisten wissen es vielleicht nicht einmal.

      ## WSL unter Windows installieren

      Zum Glück hat Microsoft dies ausführlich dokumentiert, so dass die Anleitung wahnsinnig detailliert ist. Sie müssen eine vollständig gepatchte Version von Windows 10 oder Windows 11 verwenden. Ich verwende Windows 10 22H2, was für die meisten in Frage kommen sollte. Sie benötigen auch den „richtigen“ Prozessor. Da dies einige der Virutualisierungs-Befehlssätze verwendet, benötigen Sie einen Intel- oder AMD-Prozessor, der dies unterstützt. Die meisten tun das, aber einige SEHR schlanke Netbooks vielleicht nicht. Machen Sie es sich gemütlich, das HowTo könnte einen ganzen Nachmittag voller vernetzter Artikel und Vorgehensweisen verschlingen.

      * [Install WSL on Windows](https://learn.microsoft.com/en-us/windows/wsl/install)

      Standardmäßig wird Ubuntu 22.04 installiert, was ich auch verwende. Wenn Sie nur den Emulator laufen lassen wollen, ist das alles, was Sie tun müssen. Aber wenn Sie physische Trezor-Hardware unter WSL betreiben wollen, müssen Sie mit `usbipd` herumspielen. Da ich mit physischer Hardware als FIDO2-SSH-Keystore spielen wollte, brauchte ich auch `HIDRAW`-Unterstützung, was eine Kernelkompilierung nach sich zog. Nicht erforderlich, aber ich lasse es hier, falls jemand daran interessiert ist.

      * (Optional) [Physical USB access (usbipd) under WSL](https://learn.microsoft.com/en-us/windows/wsl/connect-usb)
      * (fakultativ) [Enabling HIDRAW for FIDO2 under WSL](https://github.com/trezor/trezor-firmware/issues/3002)

      ## Linux / macOS

      Die offizielle Dokumentation im nächsten Abschnitt beschreibt sehr detailliert, wie man die Linux- oder macOS-Build-Umgebungen aufbaut. WSL-Benutzer folgen von hier an einfach den Ubuntu-Verfahren. Was nun folgt, sollte also den Erfahrungen von Ubuntu- und WSL-Benutzern entsprechen. Für macOS ist es wahrscheinlich ziemlich ähnlich, nur mit Installationen über `brew` anstelle von `apt`.

      ## Vorbereiten der Build-Umgebung

      Wenn Sie WSL installiert haben, tun Sie von nun an so, als würden Sie Ubuntu 22.04 verwenden. Mit dem Befehl `wsl` gelangt man in die WSL-Shell, aber von da an ist es ein ganz normales Ubuntu. Hier sind die Dokumente, auf die ich verwiesen habe:

      * [Github : Trezor-Firmware : Build : Index.md](https://github.com/trezor/trezor-firmware/blob/python/v0.13.7/docs/core/build/index.md)
      * [Github : Trezor-Firmware : Build : Emulator.md](https://github.com/trezor/trezor-firmware/blob/python/v0.13.7/docs/core/build/emulator.md)

      Zuerst müssen wir alle `apt`-Pakete installieren. Mein „all“ mag übertrieben sein, aber bei Neuinstallationen fehlt immer eine ganze Menge davon.

      sudo apt update
      sudo apt-get install scons libsdl2-dev libsdl2-image-dev llvm-dev libclang-dev \
      clang build-essential trezor python3-pip python3-trezor python3-munch \
      python3-venv librust-bindgen-dev protobuf-compiler python3-munch

      Als nächstes müssen wir `poetry` installieren

      python3 -m pip install –upgrade pip setuptools wheel
      python3 -m pip install poetry

      Jetzt müssen wir `rust` installieren

      curl https://sh.rustup.rs -sSf | sh
      Quelle ~/.cargo/env
      rustup default nightly
      rustup aktualisieren

      ## Bauen Sie den Trezor-T-Emulator

      Checken Sie eine neue Kopie des Quellcodes aus. Sie können den Quellcode wiederverwenden, aber es ist VIEL einfacher mit frischem Quellcode

      mkdir -p ~/src/trezor-model-t/trezor-firmware
      cd ~/src/trezor-model-t/trezor-firmware
      git clone -b core/v2.6.0 –recurse-submodules https://github.com/trezor/trezor-firmware.git .
      git checkout -b local/core/v2.6.0

      Starten Sie eine Poetry-Shell, um das Projekt von

      poetry installieren
      poetry-Shell

      Ausführen des Builds

      cd core
      make clean build_unix

      Starten Sie den Emulator

      ./emu.py

      Sie erhalten ein frisch gewischtes Trezor-T-Fenster. Klicken Sie einfach auf das Fenster, in dem der Touchscreen angezeigt wird, und es wird genau wie bei der Berührung funktionieren. Du kannst mit den Dateien `trezor.flash` und `trezor.sdcard` spielen, wenn du willst, aber darauf werde ich hier nicht näher eingehen.

      ## BONUS: Trezor-R Emulator bauen

      mkdir -p ~/src/trezor-model-r/trezor-firmware
      cd ~/src/trezor-model-r/trezor-firmware
      git clone -b python/v0.13.7 –recurse-submodules https://github.com/trezor/trezor-firmware.git .
      git checkout -b local/python/v0.13.7

      Starten Sie eine Poetry-Shell, um das Projekt von

      poetry installieren
      Poesie-Shell

      Ausführen des Builds

      cd core
      TREZOR_MODEL=R make clean build_unix

      Starten Sie den Emulator

      ./emu.py

      Um die Tasten des Trezor-R-Emulators zu bedienen, müssen Sie die Pfeiltasten der Tastatur verwenden. Links“ für die linke Taste und „Rechts“ für die rechte Taste.

      ## Interaktion mit dem Emulator

      Die meisten Schnittstellen, die sich mit der Trezor-Hardware verbinden, können davon überzeugt werden, sich mit dem Emulator zu verbinden, aber es könnte etwas Überzeugungsarbeit erfordern. Ich fand heraus, dass `TrezorCTL` sofort funktionierte, und ich sah, dass es Einstellungen gab, die es `trezor-bridge` und `trezor-suite` erlaubten, sich ebenfalls damit zu verbinden.

      # Auf eigene Gefahr

      Bitte nehmt euch in Acht und packt euer Zeug nicht in einen Spielzeug-Emulator. Es gibt KEINEN Schutz und der Seed wird im Dateisystem deutlich sichtbar sein, wenn der Emulator läuft. Und NEIN, die Ausführung auf Tails ist nicht besser. Hoffentlich ist das auch für den zufälligen Beobachter klar ersichtlich.

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