No description
Find a file
2025-01-29 21:42:18 +01:00
doc add fetch-events 2024-11-20 16:06:12 +01:00
java/schnorr Add missing classes for event composer 2025-01-16 22:43:25 +01:00
resources add fetch-events 2024-11-20 16:06:12 +01:00
src/nostr Total rewrite of connect function 2025-01-29 21:42:18 +01:00
.gitignore add fetch-events 2024-11-20 16:06:12 +01:00
build.clj update build file to include missing java classes 2025-01-16 23:15:29 +01:00
CHANGELOG.md add fetch-events 2024-11-20 16:06:12 +01:00
deps.edn Total rewrite of connect function 2025-01-29 21:42:18 +01:00
LICENSE add fetch-events 2024-11-20 16:06:12 +01:00
README.md Add missing classes for event composer 2025-01-16 22:43:25 +01:00

nostr-clj

Do nostr stuff with Clojure.

Heavy WIP. At this point it probably won't make much sense too you.

You might have to run javac -d java $(find java -name "*.java")

Usage

FIXME: write usage documentation!

Connection

  • url: a string
  • on-message-handler: a function
  • on-open-handler: a function
(ns.nostr.core)

(connect {  :uri "wss://relay.org"
            :on-message-handler (fn [res] (println (nth res 2)))})

Invoke a library API function from the command-line:

$ clojure -X nostr-clj.nostr-clj/foo :a 1 :b '"two"'
{:a 1, :b "two"} "Hello, World!"

Run the project's tests (they'll fail until you edit them):

$ clojure -T:build test

Run the project's CI pipeline and build a JAR (this will fail until you edit the tests to pass):

$ clojure -T:build ci

This will produce an updated pom.xml file with synchronized dependencies inside the META-INF directory inside target/classes and the JAR in target. You can update the version (and SCM tag) information in generated pom.xml by updating build.clj.

Install it locally (requires the ci task be run first):

$ clojure -T:build install

Deploy it to Clojars -- needs CLOJARS_USERNAME and CLOJARS_PASSWORD environment variables (requires the ci task be run first):

$ clojure -T:build deploy

Your library will be deployed to net.clojars.nostr-clj/nostr-clj on clojars.org by default.

License

Copyright © 2024 Laoc

EPLv1.0 is just the default for projects generated by deps-new: you are not required to open source this project, nor are you required to use EPLv1.0! Feel free to remove or change the LICENSE file and remove or update this section of the README.md file!

Distributed under the Eclipse Public License version 1.0.