12 Commits

Author SHA1 Message Date
ErlangPunch
6b4040a861 Issue/11 nip implement nip02 httpsgithubcomnostr protocolnipsblobmaster02md (#16)
This is a huge commit including many modification. It has been been squashed to work on something cleaner. Nip/02 was not correctly implemented.
2023-10-26 13:16:14 +00:00
Niamtokik
2410017c6b Merge pull request #15 from erlang-punch/issue/6-implement-bech32-format-in-pure-erlang
Issue/6 implement bech32 format in pure erlang
2023-08-12 07:52:10 +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
422d483d11 Merge pull request #14 from erlang-punch/dev/add-erlang-otp-26-support
Add Erlang R26 support
2023-05-16 11:43:46 +00:00
niamtokik
008815d16b Add Erlang R26 support
- upgrade cowboy version to 2.10.0
 - upgrade gun version to 2.0.1
2023-05-16 11:39:25 +00:00
Niamtokik
4cf95a1814 Merge pull request #13 from erlang-punch/issue/3-implement-nip01-basic-events-and-kinds
Issue/3 implement nip01 basic events and kind. Implement also schnorr signature scheme like defined in BIP-0340.
2023-03-10 20:23:53 +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
Niamtokik
d07a6dbc55 Merge pull request #8 from erlang-punch/dev/from-erlang-to-nostr
Test an open relay server to understand how the protocol is working
2023-02-25 13:13:52 +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
ErlangPunch
df5bad3873 Merge pull request #1 from erlang-punch/dev/add-github-actions-support
Add github actions support
2023-02-10 15:41:10 +01:00
ErlangPunch
8dd60e8b5e Add github actions support
Added a way to test and compile nostr project with
github actions using an external runner. A better
configuration is required though, with more
documentation and features.
2023-02-10 15:36:34 +01:00
niamtokik
8dee4cf1c8 initialize repository 2023-02-03 07:20:49 +00:00