DASHU's avatar
DASHU
dashu@cfrelay.haorendashu.workers.dev
npub19yeq...zqwk
A nostr dev. #Nostrmo A client support all platform. #Nowser A nostr signing project. #Nesigner A nostr hardware signer. https://nesigner.nostrmo.com/ #CacheRelay A nostr cache relay peject. #cfrelay A nostr relay base on cloudflare wokers. A nostr note timing send service. https://sendbox.nostrmo.com/
DASHU's avatar
DASHU 1 month ago
`nostr_event_store` supports three main deployment methods, each suitable for different application scenarios: ## 1. Application-integrated (e.g., `demos/base-relay`) - Method: The event store is directly integrated into your Go application process as a library. API calls are direct, requiring no network communication. - Advantages: Extreme performance (no network latency), simple deployment, suitable for single-machine/embedded scenarios, easy to develop and debug. - Disadvantages: Cannot be scaled across multiple processes/machines; the event store is affected when the process crashes, making high availability difficult. image ## 2. Remote deployment (e.g., `demos/remote-relay`) - Method: The event store runs as an independent service process, communicating with the application via a gRPC remote interface. - Advantages: Decoupling of the application and the event store; independent scaling, restarting, and monitoring; supports multiple client access; facilitates service-oriented deployment. - Disadvantages: Network communication overhead; slightly higher deployment and maintenance complexity; slightly inferior performance compared to the built-in method in extremely low-latency scenarios. image ## 3. Sharded Deployment (Under Development) - Method: Multiple machines/processes, each running one event store instance, sharded by author pubkey hash, with a coordinator responsible for routing and aggregation. - Advantages: Strong horizontal scalability, distributed load across single nodes, suitable for large-scale data and high-concurrency scenarios, limited impact from single shard failures. - Disadvantages: Complex implementation and maintenance (requires coordinator, shard routing, cross-shard query aggregation), more complex consistency and recovery mechanisms, and higher initial deployment costs. image ## Summary: - Small projects/single machine: Recommended for application integration, simple and efficient. - Requires decoupling of multiple processes/services: Recommended for remote deployment. - For ultimate scalability and high availability: Recommended for sharded deployment, but requires more development and maintenance resources. Project link: #nostr_event_store
DASHU's avatar
DASHU 2 months ago
果然,一堆发 spam 的。 image #nostr #spam
DASHU's avatar
DASHU 2 months ago
@总干事@2¹⁰ 发现 bostr.shop 上,有两个中继,在彪 event ~~~ 这两个: wss://top.testrelay.top/ wss://relay.snort.social 因为很多这种请求: ``` 2026/04/02 11:58:07 Rejecting req 10065615:: filter can't be empty {"since":1,"limit":1} 2026/04/02 11:58:07 Rejecting req 10065790:: filter can't be empty {"until":1,"limit":1} 2026/04/02 11:58:07 Rejecting req 10065723:: filter can't be empty {"until":1,"limit":1} 2026/04/02 11:58:07 Rejecting req sub: filter can't be empty {"limit":0} ``` 不知道哪家来采集,还一下子发几个额请求,而且正好又有大量的 spam ,导致 cpu 和 流量 涨起来了。
DASHU's avatar
DASHU 2 months ago
Nostrmo version 3.5.1 release. This version mainly focuses on bug fixes and optimizations. Change list: - Add inbox support for followed feed and mentioned feed. - Sync feed change to using eventlistbox. (Fix new events not showed bug.) - Open link in app webview support close. - Move key to secure store. - Webutils page change to webapps pages. (Just like nowser) - Fix group message not update bug. - Fix image take too much memery error. - Mentioned feed add p tag check. You can download from Github release: Other version you can find from: ### IOS [APPStore]( [TestFlight](https://testflight.apple.com/join/kvGz47De)\r\n\r\n ### MacOS [APPStore]( [TestFlight](https://testflight.apple.com/join/icO07ElD) ### Web And PWA [Web And PWA](https://web.nostrmo.com/)
DASHU's avatar
DASHU 2 months ago
I just send this query to the relay: ``` ["COUNT","123213343213123",{"kinds":[1]}] ``` And then I could almost hear the server fans spinning wildly. 😥😥😥😥 image
DASHU's avatar
DASHU 2 months ago
The data volume is getting bigger and bigger; now it takes two hours to rebuild an index. image