Commit Graph

11 Commits

Author SHA1 Message Date
niamkik
ee805f910b forgot to modify test suites... 2023-10-01 12:53:00 +02:00
niamkik
b3a39fe3d9 convert nostr application to erlang release 2023-10-01 12:20:23 +02:00
niamtokik
bcef306591 Merge branch 'main' into issue/11-nip-implement-nip02-httpsgithubcomnostr-protocolnipsblobmaster02md 2023-08-12 07:54:02 +00:00
niamtokik
d6d38eb0c5 Erlang Bech32 and Segwit Address Implementation
This commit implements bech32 format and segwit addressing like
defined in Bitcoin implementation. A module called bech32 and another
one called segwit have been created. These two modules offers the
support for encoding and decoding of bech32 string in different formats.
In final, 99% coverage for bech32 and 97% coverage for segwit. The
document is enough for now.

Added an article explaining how and why Bech32/Segwit were implemented
in pure Erlang.
2023-08-12 07:31:25 +00:00
niamtokik
22fa1794d4 just clean things up 2023-05-14 08:48:47 +00:00
niamkik
14e31762ec shortcut_23/10, 23/11 and 23/12 2023-04-18 21:41:50 +02:00
niamkik
8e05a732ca shortcut 23/06, 23/07, 23/08 2023-04-16 16:21:08 +02:00
niamtokik
d0ef31a4d9 add tests 2023-04-14 17:20:51 +00:00
niamtokik
a031801459 update 2023-03-13 20:47:45 +00:00
niamtokik
1984e20549 Schnorr Signature Scheme and NIP/01 Implementation
This (very) huge commit is containing the whole implementation
of the Schnorr signature scheme and the NIP/01 standard in
full Erlang. It includes documentation, test suites with eunit
and commont_test, partial specification, and articles/notes
on the implementation.

This commit is also probably one of the most important, it
defines the structure of the nostrlib module and all the
low level record used to encode and decode events.

99% coverages on nostrlib_schnorr. 85% on nostrlib.
2023-03-10 20:04:53 +00:00
ErlangPunch
0fb83a4e52 Create the first structure of nostr application
This commit is a huge one. It had a lot of feature
and design the whole project. Documentation, tests,
notes, articles, introduction page and main codes
have been added.

All required dependencies have been added, thoas,
gun, and cowboy. Those versions have been fixed.

The current client implementation can use a websocket
to fetch the event from a relay, the connection can
also be closed.

Some functions and modules have been created to permit
to encode and decode payloads from/to a relay/client.
This is not correctly done, yet.

A part of nip/01 is already implemented but requires
a better structure, better testing and better
documentation as well.

The parameters for rebar3 and the tools like compilers
have been created to ensure a good quality for the
produced code.

A Makefile can be used to export the notes/articles in
pdf, epub, plaintext or html formats.
2023-02-25 13:11:40 +00:00