aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--routes/nostr.js1
-rw-r--r--sampledata/nostr/config.toml135
-rwxr-xr-xsetup.sh1
3 files changed, 137 insertions, 0 deletions
diff --git a/routes/nostr.js b/routes/nostr.js
index 005a4be9..f006a23d 100644
--- a/routes/nostr.js
+++ b/routes/nostr.js
@@ -52,6 +52,7 @@ export default {
async broadcast(req, res) {
let { event } = req.body;
+ console.log("sending", event)
pool.send(["EVENT", event]);
res.send(event);
},
diff --git a/sampledata/nostr/config.toml b/sampledata/nostr/config.toml
new file mode 100644
index 00000000..87dd8809
--- /dev/null
+++ b/sampledata/nostr/config.toml
@@ -0,0 +1,135 @@
+# Nostr-rs-relay configuration
+
+[info]
+# The advertised URL for the Nostr websocket.
+relay_url = "wss://nostr.example.com/"
+
+# Relay information for clients. Put your unique server name here.
+name = "nostr-rs-relay"
+
+# Description
+description = "A newly created nostr-rs-relay.\n\nCustomize this with your own info."
+
+# Administrative contact pubkey
+#pubkey = "0c2d168a4ae8ca58c9f1ab237b5df682599c6c7ab74307ea8b05684b60405d41"
+
+# Administrative contact URI
+#contact = "mailto:[email protected]"
+
+[diagnostics]
+# Enable tokio tracing (for use with tokio-console)
+#tracing = true
+
+[database]
+# Directory for SQLite files. Defaults to the current directory. Can
+# also be specified (and overriden) with the "--db dirname" command
+# line option.
+data_directory = "."
+
+
+# Use an in-memory database instead of 'nostr.db'.
+# Caution; this will not survive a process restart!
+#in_memory = false
+
+# Database connection pool settings for subscribers:
+
+# Minimum number of SQLite reader connections
+#min_conn = 4
+
+# Maximum number of SQLite reader connections
+#max_conn = 128
+
+[network]
+# Bind to this network address
+address = "0.0.0.0"
+
+# Listen on this port
+port = 8080
+
+# If present, read this HTTP header for logging client IP addresses.
+# Examples for common proxies, cloudflare:
+#remote_ip_header = "x-forwarded-for"
+#remote_ip_header = "cf-connecting-ip"
+
+# Websocket ping interval in seconds, defaults to 5 minutes
+#ping_interval = 300
+
+[options]
+# Reject events that have timestamps greater than this many seconds in
+# the future. Recommended to reject anything greater than 30 minutes
+# from the current time, but the default is to allow any date.
+reject_future_seconds = 1800
+
+[limits]
+# Limit events created per second, averaged over one minute. Must be
+# an integer. If not set (or set to 0), defaults to unlimited. Note:
+# this is for the server as a whole, not per-connection.
+# messages_per_sec = 0
+
+# Limit client subscriptions created per second, averaged over one
+# minute. Must be an integer. If not set (or set to 0), defaults to
+# unlimited.
+#subscriptions_per_min = 0
+
+# UNIMPLEMENTED...
+# Limit how many concurrent database connections a client can have.
+# This prevents a single client from starting too many expensive
+# database queries. Must be an integer. If not set (or set to 0),
+# defaults to unlimited (subject to subscription limits).
+#db_conns_per_client = 0
+
+# Limit blocking threads used for database connections. Defaults to 16.
+#max_blocking_threads = 16
+
+# Limit the maximum size of an EVENT message. Defaults to 128 KB.
+# Set to 0 for unlimited.
+#max_event_bytes = 131072
+
+# Maximum WebSocket message in bytes. Defaults to 128 KB.
+#max_ws_message_bytes = 131072
+
+# Maximum WebSocket frame size in bytes. Defaults to 128 KB.
+#max_ws_frame_bytes = 131072
+
+# Broadcast buffer size, in number of events. This prevents slow
+# readers from consuming memory.
+#broadcast_buffer = 16384
+
+# Event persistence buffer size, in number of events. This provides
+# backpressure to senders if writes are slow.
+#event_persist_buffer = 4096
+
+[authorization]
+# Pubkey addresses in this array are whitelisted for event publishing.
+# Only valid events by these authors will be accepted, if the variable
+# is set.
+#pubkey_whitelist = [
+# "35d26e4690cbe1a898af61cc3515661eb5fa763b57bd0b42e45099c8b32fd50f",
+# "887645fef0ce0c3c1218d2f5d8e6132a19304cdc57cd20281d082f38cfea0072",
+#]
+
+[verified_users]
+# NIP-05 verification of users. Can be "enabled" to require NIP-05
+# metadata for event authors, "passive" to perform validation but
+# never block publishing, or "disabled" to do nothing.
+#mode = "disabled"
+
+# Domain names that will be prevented from publishing events.
+#domain_blacklist = ["wellorder.net"]
+
+# Domain names that are allowed to publish events. If defined, only
+# events NIP-05 verified authors at these domains are persisted.
+#domain_whitelist = ["example.com"]
+
+# Consider an pubkey "verified" if we have a successful validation
+# from the NIP-05 domain within this amount of time. Note, if the
+# domain provides a successful response that omits the account,
+# verification is immediately revoked.
+#verify_expiration = "1 week"
+
+# How long to wait between verification attempts for a specific author.
+#verify_update_frequency = "24 hours"
+
+# How many consecutive failed checks before we give up on verifying
+# this author.
+#max_consecutive_failures = 20
diff --git a/setup.sh b/setup.sh
index 329641d3..6e4ecebc 100755
--- a/setup.sh
+++ b/setup.sh
@@ -1,6 +1,7 @@
cp config.js.sample config.js
cp compose.yml.sample compose.yml
cp -r sampledata data
+sudo chown 100:100 data/nostr/data
docker compose up -d
docker run -it -v $(pwd):/app --entrypoint pnpm cs i
docker exec -it bc bitcoin-cli createwallet coinos