A hardware ESP32 Nostr Signer.
nesigner is an ESP32-based application designed to sign and process Nostr messages. It leverages USB interfaces to receive, process, and respond to messages. The project is built using ESP-IDF and integrates with components like TinyUSB for USB connectivity.
- The project has implemented the Nostr Signer functionality.
- The project is still under development and we may modify all the code.
- Many code is generated by multiple AIs.
- Nostr Signer Basic Methods:
getPublicKey,signEvent,nip04.encrypt,nip04.decrypt,nip44_encryptandnip44_decrypt. - The private key is only stored in the board, and all operations are performed in the board.
- One Pin code corresponds to one private key.
- Multiple sets of private keys can be stored.
- ESP-IDF installed and configured.
- Supported ESP32 board.
- Basic knowledge of embedded C programming.
- Clone the repository and init git submodule:
git clone https://github.com/haorendashu/nesigner.git
git submodule init;
git submodule update;
-
Set up the ESP-IDF environment.
-
Config permission if necessary.
Linux, create /etc/udev/rules.d/99-nesigner.rules:
SUBSYSTEM=="tty", ATTR{idVendor}=="0x2323", ATTR{idProduct}=="0x3434", MODE="0666"
or
SUBSYSTEM=="tty", MODE="0666"
reload rule:
sudo udevadm control --reload-rules
Windows, use Zadig Tool to install WinUSB Driver.
- Configure the project:
idf.py menuconfig
- Build, flash, and monitor the project:
idf.py build flash monitor