LMAO I'm winning big time on nostr:npub1nstrdc6z4y9xadyj4z2zfecu6zt05uvlmd08ea0vchcvfrjvv7yq8lns84 đđ«°đČ
#nostr #game #plebchain

b3mZ3Pt3Fjiq_TbFZmbj70z3J85FHAhZzwGBL6OfLvg
1ïžâŁ What would happen to your #Bitcoin if you were to disappear?
Or if you were unable to access it due to life's uncertainties?
Have you heard about Liana Wallet?
Join me and nostr:npub14glkj3cmlv9d7un93c38j2x39h7z0xfmtgahn2dhqmr2d6da323srfrkg0 for an online workshop and learn how to protect your funds. đ§”â

2ïžâŁHow can you delegate access to your coins if you are no longer able to manage your #Bitcoin keys?
We'll explore together the 'inheritance' or 'life insurance' scenario in a 100% disintermediated manner.
We will cover the prerequisites, roles, wallet functionality, and most importantly: PRACTICE.

3ïžâŁFor those who want to participate live:
You will have the opportunity to ask questions and engage in real-time by joining the conference room on Sunday, August 25, starting at 6 PM UTC.
You can find the link below:
https://meet.jit.si/workshop-liana-scenario1
4ïžâŁFor those who do not wish to participate but are still interested:
You can watch the workshop live via streaming on đ (and somewhere on #nostr if I manage to understand how to!)
If you are not available on Sunday, August 25, starting at 6 PM UTC, don't worry; the replay will be available!
5ïžâŁAre you in?
There is no need to download Liana Wallet in advance.
â ïžThe workshop will take place on a test network. No need to synchronize the blockchain; we will provide you with a fork of the application running on a server to save time!
6ïžâŁTell us what you think!
There is no possibility to click on a âreminderâ as this is not a âspaceâ.
Don't hesitate to let us know if you're interested and if you'll come, or even repost this note for visibility!
Suite à la demande générale, voici la rediff' de l'atelier en ligne autour de LIANA avec des niveaux sonores corrigés!
Merci Ă tous les participants et Ă mon collĂšgue nostr:npub14glkj3cmlv9d7un93c38j2x39h7z0xfmtgahn2dhqmr2d6da323srfrkg0
Quel outil aimeriez-vous découvrir par la pratique avec nous pour une prochaine session?
#nostrfr #selfcustody #inheritance #wallet
I donât run nostrapps anymore, itâs up to nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 now
Thxx

TL;DR: NostrDice is a provably fair game built on Nostr and Lightning.
# Why build NostrDice
Nostr has been around for a while now, but weâve only used it as a social network. We had not had a chance to look under the hood to see how things work and what you can do with it.
We wanted to get our hands dirty. But we didnât just want to follow some tutorials; we wanted to build something fun and see how far Nostr could take us.
After some brainstorming, we landed on the legendary game SatoshiDICE. Why not bring the OG of all Bitcoin games to Lightning using Nostr?
> We are going to build our own SatoshiDICE, with blackjack and hookers
NostrDice is SathoshiDICE on steroids. I mean, itâs built with Nostr and Lightning.
## Design Goals of NostrDice
Before we jump into it, these are our design goals for the game.
1. Provably fair. The NostrDice server must not be able to control the outcome of a die roll. Players must be able to verify that the NostrDice server is not cheating.
2. Easy to use. The game should be compatible with any Nostr client (which supports Zaps). No new clients should be required to play the game.
3. Have fun building it! This was the main goal if weâre honest :D
Looking into how Zaps work we quickly figure out a way to use them to place bets and pay out lucky winners.
### How NostrDice Works
We set up 3 accounts on Nostr:
- NostrDice Game: This is where you play. Zap your chosen multiplier note, roll the die and win some sats, sometimes. nostr:npub1nstrdc6z4y9xadyj4z2zfecu6zt05uvlmd08ea0vchcvfrjvv7yq8lns84
- NostrDice Nonces: Here you can find proof that the server is playing fair with your dice rolls. nostr:npub1nstrdc23h57te608p6rx90lhay86ny5lpm9jpnxquzv9fnvmpfhqnpzcwp
- NostrDice Social: A place for us to promote the game. Follow us to get the latest updates. nostr:npub1nstrdc28zag3wcwwsc5t725t03h3hg9ard4vg425m4dvv7vqnmjsn076qj
1. Commitment to a Secret Nonce
A new round starts when the NostrDice server posts a commitment to a nonce on nostr:npub1nstrdc23h57te608p6rx90lhay86ny5lpm9jpnxquzv9fnvmpfhqnpzcwp. The server does this *before* receiving any information from the player, so it can choose the nonce based on the playerâs input.
2. **Placing a Bet**
The player chooses their multiplier and wager by zapping one of 11 notes on nostr:npub1nstrdc6z4y9xadyj4z2zfecu6zt05uvlmd08ea0vchcvfrjvv7yq8lns84. The multiplier also determines the target the die roll needs to hit. For example, to win a 2x multiplier, the player must roll a number lower than 31784 (out of 65535 possibilities).
3. **Determining the Outcome**
The server calculates the playerâs die roll based on the secret nonce, the playerâs npub and the zap memo. Playerâs are encouraged to use the zap memo to make it impossible for the server to anticipate their input to the die roll.
4. **Immediate Payouts**
If the player hits the target, the NostrDice server will pay out instantly.
The server zaps the playerâs npub to credit them with their winnings. To this end, the player must have a valid LNURL configured if they want to get paid!
5. **House Edge**
The server retains a small house edge on every bet. For a specific
target, the payout is slightly less than the true odds to account for
this edge.
### NostrDice as a Provably Fair Game
The key to NostrDice being fair is that the outcome of a die roll is random and verifiable. For an in-depth explanation on this, check out the https://github.com/nostrdice/nostrdice/blob/4419cd8f4592fd7d443a22d594b95f80aee5287c/GAME.md in our repository https://github.com/nostrdice/nostrdice/. But here is a summary of the main ideas.
**Commitment Scheme**
NostrDice commits to a nonce before the round starts by hashing it and publishing the hash on Nostr for everyone to see:
```
nonce := gen_32_bytes()
commitment := sha256(nonce)
```
**Roll Formula**
When the player places their bet, the nonce is combined with the player's npub and zap memo to generate the die roll:
```
roll = bytes_to_decimal(first_2_bytes(sha256(nonce | player_npub | zap_memo | index)))
```
To prevent the server from predicting outcomes based on the player's npub, the player submits their own randomness via the zap memo.
Additionally, a roll index is included to allow the player to roll more than once with the same nonce.
**Verification**
The player can independently compute their roll after the nonce is revealed. They can also verify that the revealed nonce matches the original commitment:
```
original_commitment == sha256(revealed_nonce)
```
### Lessons learned
Building NostrDice was very fun and not that hard! Itâs easy to see why the Nostr ecosystem is flourishing: the Nostr protocol is super simple.
- Dev environment: Building a Nostr client is super straight forward. There are plenty of libraries available, but we went with the https://github.com/rust-nostr/. However, setting up a dev environment was not so easy. We ended up with an involved `docker-compose` file and a `just` file to spin up a dev environment consisting of:
- `bitcoind`.
- Two `lnd` nodes: one for the player and one for the server.
- A Nostr relay via `nostr-rs-relay`.
- `nostr-wallet-connect-lnd` so that the player can zap a multiplier note with their LND node.
- An LNURL pay server for the player to receive payouts.
- `nostrdice`: the game server itself, acting as a modified LNURL server.
- Note limits: Our nonce account needs to publish notes regularly and we quickly ran into the limits of publicly available relays: we got banned. Because of this we decided to post less and run our own relay which again, was super simple. Since Rust is our first language, we decided to go with https://github.com/scsibug/nostr-rs-relay.
- Production testing: This is the biggest hurdle we encountered. While for ânormalâ social media usage clients like Primal, Snort or Damus work well, when wanting to jump between different accounts, we quickly ran into UX issues. The setup which worked best for us was using the Alby browser extension with different profiles. I believe things can be improved here. For example, a browser extension supporting multiple Nostr profiles, where profiles are locked to one tab/website only. This way we can be logged into multiple accounts on different profiles at the same time. We also ended up using noStrudel as our favorite browser-based client.
- No signet support on web clients. Zaps are always assumed to be on mainnet.
Overall it was great fun to build on Nostr for the first time, and we learned a lot. I hope you also enjoy this nostalgic tribute to SatoshiDICE on Nostr.
cheers,
the 10101 team
## Links
- NostrDice Social: An account only used for social posts, follow along to stay up-to-date on any announcements. nostr:npub1nstrdc28zag3wcwwsc5t725t03h3hg9ard4vg425m4dvv7vqnmjsn076qj.
- NostrDice Game: The main game account. Where the static multiplier notes are hosted. nostr:npub1nstrdc6z4y9xadyj4z2zfecu6zt05uvlmd08ea0vchcvfrjvv7yq8lns84.
- NostrDice Nonces: This account publishes nonce commitments and reveals nonces at a regular interval. nostr:npub1nstrdc23h57te608p6rx90lhay86ny5lpm9jpnxquzv9fnvmpfhqnpzcwp.
- NostrDice on X: x.com/nostrdice
- NostrDice source code: https://github.com/nostrdice/nostrdice/.
- NostrDice relay: wss://relay.nostrdice.com.
- nostr:npub1u8lnhlw5usp3t9vmpz60ejpyt649z33hu82wc2hpv6m5xdqmuxhs46turz we just canât help ourselves, but we noticed that a lot of the libraries we used were either built by or contributed to by Ben. Among others, we used and built on:
- https://github.com/benthecarman/lnurl-rs: An LNURL pay server.
- https://github.com/benthecarman/nostr-wallet-connect-lnd: A NWC server to control LND.
Hey nostr:npub1r0rs5q2gk0e3dk3nlc7gnu378ec6cnlenqp8a3cjhyzu6f8k5sgs4sq9ac !
Might be a great addition to nostrapps!
Cc nostr:npub1l2vyh47mk2p0qlsku7hg0vn29faehy9hy34ygaclpn66ukqp3afqutajft
GM
The first game on #nostr? đ
#plebchain #coffechain
nostr:note1p6dsw3ws4uwxzrx9pvaqqk97dsq9fyfj5asr4c45xs8400vlu8sqqjk5ec
1ïžâŁQue deviendraient vos #Bitcoin si vous disparaissiez?
Ou si vous étiez incapables d'y accéder à cause des aléas de la vie?
Avez-vous entendu parler du wallet LIANA?
Rejoignez-moi avec nostr:npub14glkj3cmlv9d7un93c38j2x39h7z0xfmtgahn2dhqmr2d6da323srfrkg0 pour un workshop en ligne et dĂ©couvrez comment protĂ©ger vos fonds đ§”â
2ïžâŁComment passer le relais si l'on est plus en capacitĂ© de gĂ©rer ses clĂ©s #Bitcoin ?
Pour ce workshop, nous vous proposons le scénario "l'héritage" ou "assurance vie" de maniÚre 100% désintermédiée.
Les pré-requis, les rÎles, le fonctionnement du wallet et surtout: LA PRATIQUE.
3ïžâŁ Pour ceux qui veulent participer en live:
Vous aurez la possibilité de poser des questions et participer en direct en vous connectant le dimanche 21 Juillet à partir de 20h à la salle de conférence, que vous trouverez dans le lien ci-dessous:
https://meet.jit.si/workshop-liana-scenario1
4ïžâŁ Pour ceux qui ne souhaitent pas particuliĂšrement participer:
Vous pourrez suivre le workshop en direct depuis le streaming sur X!
Si vous n'ĂȘtes pas disponible le dimanche 21 Juillet Ă partir de 20h, pas de panique, la rediffusion sera conservĂ©e!
5ïžâŁ Vous ĂȘtes partants ?
Préparez-vous dÚs maintenant en téléchargeant le wallet @lianabitcoin.
â ïž Le workshop se dĂ©roulera sur un rĂ©seau de test. Pas besoin de synchroniser la blockchain, nous vous la fournirons via un serveur pour gagner du temps !
#nostrfr #france #workshop

Who wants me to show how to break down a whole fatty duck?
From collecting the liver and doing foie gras
To collecting tails and legs to do confit
To collecting all the fat to make duck fat and duck cracklings
And a beautyfull soup with the body neck and head?
Gm
What are you having for breakfast?

Vous pouvez contribuer a la fin des exchanges traditionnels centralisés!
Votez pour nostr:npub1c40rwav67rtl4pmy56wa8vhh8cynlm0zvhr96mcnd5xat74ldxmsm8ttqy ou bien RT le tweet ci-dessous!
Faisons du non-custodial le standard et empĂȘchons les prochains FTX!
Favorisons les outils qui permettent de faire d'avantage en restant souverains!
#bitcoin #nostr #nostrfr #nokyc #selfcustody
nostr:note1ujn9z8nm3s7v9j9dn2070lvs50esfe4w6srth2cndpp2dtjehkss2vedtg
NoĂŻce!
Consider having a look to my recipes as well đ
The ULTIMATE carnivore / keto pizza recipe
â No flour â no sugar
â High fat â high protein
This pizza will never mess with your ketosis!
If you like it, let me know if you want a next-level pizza recipe for #Bitcoin's Pizza day! (Hint in this recipeđ)
#foodstr #foodporn #cooking #recipe #plebchain #gm
https://stacker.news/items/498499

HIGH PROTEIN, sugar-free chicken crust chorizo and pepper pizza đđ
â No flour â no sugar
â High fat â high protein
This pizza will never mess with your ketosis!
If you like it, let me know if you want a next-level pizza recipe for #Bitcoin's Pizza day! (Hint in this recipeđ)
Bon appétit!
Rate de dressing of my dish!
This is tripe and beef trotters soup đ
Would you eat some, anon?
#food #foodstr #foodporn #plebchain

GM
Daily reminder to eat clean during the week
Who can tell what's in my plate?
âĄïž 21 sats if you guess
đ Retweet if you mess
#foodstr #foodporn #nostrfood #GM

Ils ont les yeux bridés.
A moi les 10m
