Hi Bitcoin Devs, Proud to announce the first release of CivKit Node, a basic Nostr relay with additional features to have a functional peer-to-peer market board, written in Rust . This is a very raw release as since we published the paper back in April, we've been reached out by a bunch of folks asking how they could contribute by code, or start to integrate CivKit in their Nostr and Lightning peer-to-peer market clients .
Current release is CLI-only, just implementing basic NIP 01 support and is full of bugs and todos, has not been tested on a lot of platforms and still works as a local host for a lot of things . There is a sample Nostr client binary joined for deployment and testing purposes and an utility binary to manage the node with a gRPC interface. Such an interface should lay the groundwork to build one or more GUI applications on top, as it's a recurring and consistent request from the community. There is an experimental integration with BOLT8 Noise transport (thanks to LDK), where one can connect to another CivKit Node has a peer, Idea is to unify the communication infrastructure between Nostr and Lightning, and as such have a single market of p2p service providers (watchtower, state backup, boards) benefiting from network law effect. Beyond sharing all the work between Lightning and Nostr ecosystem in terms of spamming mitigations, careful crypto engineering (e.g onion routing) and privacy-preserving monetary credentials . With this released out, I think we'll go for sound onion routing support, BOLT12 offers, the set of fundamental NIPs like NIP-09, NIP-16, NIP-33 and others, and integration with a notary protocol (e.g Mainstay). Still, we would like to listen to our users and we'll plumber features in the function of relevant feedback collected from the community. One key lesson from years contributing on LDK, we do not want to stay in a "purist developer" ivory tower to avoid hard-to-integrate APIs, and make the "product management" of the project owned by the community to ensure we're building for the real-world of unstable and constrained mobile clients. Once we have communication infrastructure and hopefully credentials framework working, I think we'll start to have more serious development of the CivKit functionaries services themselves (e.g market bulletin boards, rank proof servers and moderation oracles in the paper parlance). Though again, if folks want to start more custom services on top of CivKit Node, we'll see what we can do, there is a brave new world to explore with Nostr and Lightning maturation. For the historical note, peer-to-peer market features were present in Bitcoin Core circa 2010 (in fact before the ref client was dubbed Core). Those features were removed by commit 5253d1ab "strip out unfinished product, review and market stuff" by Satoshi . Retrospectively, it was a good insight as Core has evolved as a complex beast enough and careful layerization is one of the best learning from the 50 years of Internet history. Still, censorship-resistant and large-scale peer-to-peer markets sounds still one of the missing blocks of the Bitcoin protocol stack. Looking forward to growing the Bitcoin and Lightning internal economies by an order of magnitude or two with the CivKit Node, if the kharma is with us. All works are released under MIT/Apache licenses and we aim to bind to the best open-source development standards as set by Bitcoin Core and the Linux kernel communities and we're welcoming anyone strongly willing to build with passion and love. I think for the future, we'll do the announcement on its own communication channel, whatever a new mailing list, or something experimental on top of Nostr groups, Still, if we innove in terms of cryptography we're aiming to have things standardized under BIPs. "Sic itur ad astra" - Block 000000000000000000053fd09a45f48e747f281122021edc2f7e97efcdd66248 Cheers, Antoine  https://github.com/civkit/civkit-node  https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2023-April/021556.html  Of course, there are gazillins of things to implement, please open an issue on the repository directly rather to yell something doesn't work.  https://lists.linuxfoundation.org/pipermail/lightning-dev/2023-May/003964.html  https://github.com/bitcoin/bitcoin/commit/5253d1ab
_______________________________________________ bitcoin-dev mailing list firstname.lastname@example.org https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev