Skip to content

Latest commit

 

History

History
49 lines (36 loc) · 1.28 KB

README.md

File metadata and controls

49 lines (36 loc) · 1.28 KB

LibNgU

All the things needed to make Bitcoin work on embedded µpy platforms like ESP32.

Name is "Number Go Up" ... because need that.

Absoletely none of SHITCOINS allowed here

Primatives

  • using libsecp256k1 for everything, except:
  • mbedtls if already present on target (ESP32 uses for TLS)
  • otherwise use cifra
  • generic EC, certificates stuff, disabled if no mbedtls
  • AES submodule disabled if you have mbedtls, because ucryptolib is same
  • libwally-core used for testing only

Notes

  • might need, see issue

    export PKG_CONFIG_PATH=/usr/local/opt/libffi/lib/pkgconfig setenv PKG_CONFIG_PATH /usr/local/opt/libffi/lib/pkgconfig

Install

  • make one-time does submodule bullshit, configures K1 lib
  • make quick compiles Unix micropython port, runs tests
  • can play with ./ngu-micropython binary on your desktop
  • compile for ESP32 and burn onto TTGO board
make -f makefile.esp32
make -f makefile.esp32 deploy
  • on target, do:
>>> import ngu_tests.run

or for single test:

>>> import ngu_tests.test_hash
  • STM32 port builds, but untested:
make -f makefile.stm32