Gzuuus's avatar
Gzuuus
gzuuus@nostree.me
npub1gzuu...a5ds
Forever learning, continuously buidlingโšก cryptoanarchism student https://nostree.me/gzuuus #noderunner#Bitcoin | #technology | #art | #electronics
Gzuuus's avatar
Gzuuus 3 months ago
Hahaha, man, that demo had more failures than all the soveng demos together. Epic
Gzuuus's avatar
Gzuuus 3 months ago
Almost two weeks ago I began working on this article. It grew out of conversations with several people involved in Nostr and Open source, and from the realization that a very informal specification process is indeed a vulnerability. I would love to hear your thoughts. Thanks also to everyone who provided feedback while I was writing, and to the participants in #soveng for sharing helpful feedback and resources I didnโ€™t know about, they made the article much stronger. View article โ†’
Gzuuus's avatar
Gzuuus 3 months ago
Ok, here we go! A little demo on how you can use the Nutoff wallet. This is not meant to have a good UX, as it's just for educational and experimental purposes. But if you want to play with it, follow these steps: 1. Open your terminal, and navigate to a directory where you feel comfortable placing the codebase of this project. Then, run `git clone https://github.com/gzuuus/nutoff-wallet.git` 2. Navigate into the `nutoff-wallet` directory and run `bun i` (I assume you can use other package managers, but it will definitely work with ) 3. Now, just run the wallet by executing `bun run mcp-server.ts` It has some default settings, but it is highly recommended to set a private key. This way, every time you execute the wallet, it will have the same public key. Also, configure some allowed public keys; these will be able to spend from the wallet. Just put your public key. It also accepts a list of keys if you want more than one key to be able to spend from the wallet. See the `example.env` file for more details. At this point, your wallet is running, and you should see a message like this one image The last line shows the public key of your wallet. Now you can either go to https://contextvm.org/s/<your-wallet-public-key> from where you can manage the wallet and create invoices, get the balance, pay invoices, create Cashu tokens from your balance, etc. Or you can test the Nutoff LNURL proxy, which is temporarily running (it will be shut down soon) at https://dvmcp.fun (yes, I've just reused that domain for demo purposes). You will have a Lightning address automatically at `<your-wallet-public-key>@dvmcp.fun`, which you can use to start receiving payments... Magic! There is also another goodie: if you go to https://dvmcp.fun/w/<your-wallet-public-key>, it will show your LN address and a little POS to generate invoices that people can pay. This is the page of my wallet https://dvmcp.fun/w/d30ef73ddc36ae3f4398c4972008a0862488f44303a8f305a6a1f3c68d01ece0 image That's it! Now, to see the balance or pay invoices from there, you can either use your wallet remotely by going to https://contextvm.org/s/<your-wallet-public-key> or you can use the CLI interface. Remember that the wallet has to be on to be able to receive payments, so ideally, you'll run this on a device that is always on, or that is on for some hours each day. While it is on, it can be used remotely. This is just a proof of concept. Much better UI/UX can be done, and an interface can also be built as a static site, or even a hypernote. ๐Ÿ‘€ Imagination is the limit! View quoted note โ†’
Gzuuus's avatar
Gzuuus 3 months ago
Today is demo day at soveng! Recklessly introducing Nutoff: a local Cashu wallet with a twist. It can be used via the command line or remotely through ContextVM. This allows users to interact with their local wallet remotely. Some methods are publicly accessible, such as 'make_invoice,' so anyone can generate invoices to pay you, while others, like 'pay_invoice,' are restricted to approved pubkeys, allowing only you or authorized users to spend from the wallet. Nutoff also includes a web server component that translates between the local Cashu wallet and the LNURL (LUD06/LUD16) specification, enabling email-like Lightning addresses. This service runs publicly and proxies requests between Lightning wallets and the local Cashu wallet without handling funds directly. It is intended to be a public service run by a service provider, a community, or similar. The idea that inspired this project is npub.cash, which is a great service that allows anyone to have a Cashu wallet without hassle. The difference between npub.cash and Nutoff is that npub.cash stores nuts in a database run by the service, while with Nutoff, the database runs locally. This improves the security model, but the drawback is that you need to run the wallet on one of your devices, such as a computer running Umbrel or Start9, a phone, a rpi, etc. This security model ensures that the wallet remains local, with all critical data stored on the user's device. Key use cases include: 1. **Automatic Wallet**: Runs locally on a device, enabling payments without the need for accounts or data custody. 2. **Spontaneous POS**: Can start receiving payments immediately, ideal for merchants in flea markets. 3. **Community LNURL Server**: Provides Lightning addresses for a community, family, or friends using a custom domain. 4. **Custom Applications**: Limited only by imagination. Nutoff offers a flexible, secure, and local solution for managing Cashu wallets with various deployment options. Wallet: LNURL proxy: CC @calle @Egge
Gzuuus's avatar
Gzuuus 3 months ago
Landed arr ๐Ÿดโ€โ˜ ๏ธ
Gzuuus's avatar
Gzuuus 3 months ago
Writing one of those articles that ruffle feathers...
โ†‘