Skip to content

haorendashu/nesigner

Repository files navigation

nesigner

A hardware ESP32 Nostr Signer.

Overview

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.

You must know

  • 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.

Features

  • Nostr Signer Basic Methods: getPublicKey, signEvent, nip04.encrypt, nip04.decrypt, nip44_encrypt and nip44_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.

Getting Started

Prerequisites

  • ESP-IDF installed and configured.
  • Supported ESP32 board.
  • Basic knowledge of embedded C programming.

Build Instructions

  1. Clone the repository and init git submodule:
git clone https://github.com/haorendashu/nesigner.git
git submodule init;
git submodule update;
  1. Set up the ESP-IDF environment.

  2. 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.

  1. Configure the project:
idf.py menuconfig
  1. Build, flash, and monitor the project:
idf.py build flash monitor

About

A Nostr ESP32 Signer.

Topics

Resources

License

Stars

1 star

Watchers

1 watching

Forks

Packages

 
 
 

Contributors