Very basic cashu wallet in Python and Kivy. Just sending and receiving ecash tokens for now. You can receive from different mint, but there's no way to select.

But the point is not to create another cashu wallet, there are many good ones, but to be able to communicate with the mint through Reticulum based mesh network (that's why I needed pure Python, because that's how you send LXMF messages now).

If interested, give it a star and watch how I develop it:
https://github.com/jooray/nutband

Pull requests welcome.

https://nostrcheck.me/media/jooray/10a7e73eb9b635d704754436112bec877db4802e64310991c75ff7c0cd1f299e.mp4


HOLY SHIT WHAT


eCash over radio 🤯

nostr:nevent1qqsx6j6s888a2lsrjmjdzv75thvanlma0h64eg20jdxtmpn732kxefgpz3mhxue69uhhyetvv9ujuerpd46hxtnfdupzpk4kccr9csumnwhmpv83ladqc6p88089cx2e5s2c4448ppgl2pakqvzqqqqqqy03xm2j


This is very cool 🤙

What do you mean by “Pure Python”?  C Python with no dependencies?  Or something like MicroPython?


nostr:npub1t0nyg64g5vwprva52wlcmt7fkdr07v5dr7s35raq9g0xgc0k4xcsedjgqv
Know you don't cashu but iirc, reticulum is on your radar.
nostr:nevent1qqsx6j6s888a2lsrjmjdzv75thvanlma0h64eg20jdxtmpn732kxefgpz3mhxue69uhhyetvv9ujuerpd46hxtnfdupzpk4kccr9csumnwhmpv83ladqc6p88089cx2e5s2c4448ppgl2pakqvzqqqqqqy03xm2j


Yoooo. Speaking life into a thought i had.

nostr:nevent1qqsyg4na3nrjqgcmfmd562r02ye9yc8l4fjvq8lnvadd26uru7xfulcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsygxn6aqjfh0mt0wxrw8335tuxv6mhd8ccugc9g67ufe3ffy6f6mmr5psgqqqqqqspkqd8g


That I have written only Python code and nothing else. No GUI, no glue, nothing.

Of course there’s a lot of libraries in C (which is a problem for me and the reason why I can’t make it run natively on Mac now).


Tag mark & get him on nostr
 https://x.com/markqvist


Got it.  It’s early days, but you might be interested in PyScript - a Python distribution that compiles to WASM.

I don’t know about Kivy or Wheel, but it looks like your only other dependency is Cashu, which I know uses Pydantic under the hood.  Since Pydantic 2.0 is written in Rust, that too should compile to WASM.


PyScript is pretty browser-focused, so it may not be the best for this project… but there are other efforts to make Python compile to WASM, which can “run anywhere”


Oh wow. This is cool AF.


Reticulum compatible cashu wallet. Take my nuts.

nostr:nevent1qqsx6j6s888a2lsrjmjdzv75thvanlma0h64eg20jdxtmpn732kxefgpvemhxue69uhkv6tvw3jhytnwdaehgu3wwa5kuef0dec82c33vah8wurrw3jx2cesv9snqvrgveungmrkv9jxvar4xquxxcmn8ymrwdmdwgmnx6pev3j8vvn6wemnsen489ek6mt9wfe8z0mzwfhkzerrv9ehg0t5wf6k2q3qm2mvvpjugwdehtaskrcl7ksvdqnnhnjur9v6g9v266nss504q7mqxpqqqqqqzwxltgn


This looks cool… but could you ELI5 for the non-technical? Does this allow you to send nuts over radio?


stop it.
its too good.


Yes


Starred. This is the first I've heard about the Reticulum mesh network too. It's very interesting.


Yes it is!

Another cypherpunk rabbit hole.

We're playing with antennas and frequencies, spreading factor, ...


Not sure what Nutshell uses under the hood. The problem is the C dependency for the curve and things like bitarray. Unfortunately cashu Nutshell depends on C extensions.


With buildozer and kivy, you run one command and get an APK.

Although I need to make some recipes for two extensions that depend on C code.


Yes. LoRa is a low bandwidth but high range radio. It allows you to cover a city. And its mesh, so it discovers the path through the city by itself. You can also use other links like wifi or an internet connection and it finds way automatically.

So you can have for example two houses connected with WiFi and each of them a LoRa node covering different parts of a city and you can send a packet from one side of the city, it is received by one radio, then to another house through WiFi and broadcasted over another radio to the other side of the city.

All of this is automatic and pretty dynamic.

There's an encrypted messenger that already works, I'm adding communication with the mint and we're ready for the apocalypse.


Let's make nostr accessible through reticulum first:)


Strfry, ya?


Setting up a new subnet, then I’m ready to run a reticulum node. Few days tops, today if I can 🫡


I knew this was possible, just no idea how - all my hats are off to you sir 🪑💜🫂


Very basic cashu wallet in Python and Kivy. Just sending and receiving ecash tokens for now. You can receive from different mint, but there's no way to select.

But the point is not to create another cashu wallet, there are many good ones, but to be able to communicate with the mint through Reticulum based mesh network (that's why I needed pure Python, because that's how you send LXMF messages now).

If interested, give it a star and watch how I develop it:
https://github.com/jooray/nutband

Pull requests welcome.

https://nostrcheck.me/media/jooray/10a7e73eb9b635d704754436112bec877db4802e64310991c75ff7c0cd1f299e.mp4


I've been using Cjdns.  It provides (cryptoauthenticated) IP6, so nostr, email, matrix, bitcoin, etc are accessible just by running a node.  It runs on layer 2 or UDP.

Similar projects are yggdrasil and pinecone.


That’s amazing, and another rabbit hole for me to check out 😂

So is it only for text? Can you access the internet or do voice?


It's very low bandwidth. You can do anything, but it will be slow if you use LoRa.


Yes, it's pretty cool too. Problem is overhead for things like LoRa.

Reticulum also provides physical layer firmware for LoRa, so you can flash 20$ device and that will provide you a radio link.


what LoRa devices do you use?


LilyGo 2.1.

Around €20 including shipping on AliExpress.

The problem is antennas, we’ll see about that :)


The worlds shittiest DIY prod subnet is up, backups set, fuck it lets roll. https://image.nostr.build/f9d000cd2ee9dd74a113b835c5e630ec061d2c262e4284fc6aeab3819dc1cc9d.gif


godspeed


I have it up and running! I only need to put the finishing touches on