An implementation of nostr in pure Erlang using OTP stack with minimal dependencies. Here the list of features offered by this application:
[ ] A library defined in module nostrlib
[ ] A client defined in module nostr_client
[ ] A relay defined in module nostr_relay
[ ] A common interface called nostr
to play with previously
defined modules.
This project is in active development and cannot provide a stable application. This application should be used only for test at the moment.
Here the list of currently supported nips:
window.nostr
capability for web browserscreated_at
LimitsThe code can be compiled using
rebar3
Erlang project manager.
$ rebar3 compile
The current implementation is tested using
eunit
and
common_test
both directly integrated with all default Erlang/OTP
release. cover
is
enabled by default to have an idea of the coverage of the test. An
alias called check
has been created to help using these tools.
$ rebar3 check
A developer documentation is provided using
edoc
and can be
generated on demand (automatically created if using rebar3 check
alias).
$ rebar3 edoc
This project has been created to explain how to create an Erlang/OTP
from scratch using only a release and few dependencies. The design
choices for the infrastructure, data-structures and algorithms can be
found in in notes directory. Those notes can be exported in
html, epub, pdf or plaintext using make
.
$ make
The documents will be generated in _build/notes
directory.
For the developers, this project is using
asdf
. The tools used are listed in
.tool-versions
file. To bootstrap your system, install asdf
and
just execute this command in the repository:
$ git clone https://github.com/erlang-punch/nostr
$ cd nostr
$ asdf install
This project is a work in progress, and no usages are currently displayed here.