Skip to content

edilmedeiros/cashu-workshop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mint, Melt, Repeat: Interactive E-cash for Bitcoiners

This workshop is a live-fire introduction to digital bearer cash. Participants will program their own minimal Cashu wallet, capable of minting, sending, swapping, and melting tokens—using real Chaumian e-cash, not simulation.

You’ll connect to a Cashu mint (think: digital “bank”), blind your tokens for privacy, receive and spend them in real time. You’ll experience true cash-like privacy: your tokens are yours alone until you spend or lose them. At the end, you’ll trade and melt tokens with other attendees—no blockchain, no on-chain fees, just pure cryptographic fun.

Core goals:

  • Demystify how blinded signatures work (no math PhD required).
  • See how digital cash can be private, instant, and “bearer” (lose your phone, lose your coins).
  • Build, debug, and use your own wallet—no magic, no trust required.
  • Learn the practical protocols that will power Bitcoin’s privacy future.

What would an attendee learn from this workshop?

  • How Chaumian e-cash and blinded signatures give privacy guarantees that blockchains never could.
  • How to implement mint, melt, send, and swap logic interacting with a test Cashu mint.
  • How to send and receive tokens, and how the protocol protects you from double-spending.
  • The architectural difference between account-based and bearer-based systems.
  • Where Cashu fits in the Bitcoin landscape, and why “digital cash” is relevant now.

Is there anything attendees should read up on before they attend this talk?

Is there anything attendees should set up before the workshop?

  • A code editor or notebook environment.
  • Python 3.x installed (or JavaScript/Node if you prefer — examples will use Python).
  • Internet connection (for connecting to the test mint, or run a local mint if you’re feeling brave).

Where to start

Go to the wallet folder and follow the readme file there.

Repo organization

Different branches in this repository reflect different stages of the implementation of a (rather simplified) Cashu wallet.

  • master: (wip) full wallet functionality
  • 0.start_here: starter code providing a cli interface (wallet/src/cli.py), an http client (wallet/src/client.py), a crypto library (wallet/src/crypto.py), a cashu token data structure (wallet/src/tokens.py), and a wallet storage class (wallet/src/wallet.py).
  • 1.implement_minting: some utility functions are implemented and you should implement the flow for minting a cashu token.
  • 2.implement_melting: the minting flow in implemented and you should implement the flow for melting a cashu token.

Future work

  • Include the swapping flow to refresh tokens.
  • Verify the dleq zk proofs.
  • Implement token encoding and decoding.
  • Include instructions to run a local mint and use this material as a self-study guide.

Relevant Links

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published