Coconut 🥥 is a Cashu Wallet and Mint implementation in Zig.
zig build test --summary all
zig build -Doptimize=ReleaseFast
The Coconut wallet provides a command-line interface for various operations. Here's how to use it:
To see the general help and available commands, run:
$ coconut --help
Version: 0.1.0
Author: Coconut Contributors
USAGE:
coconut [OPTIONS]
COMMANDS:
info Display information about the Coconut wallet
OPTIONS:
-h, --help Show this help output.
--color <VALUE> When to use colors (*auto*, never, always).
The info
command displays information about the Coconut wallet. Here's its specific help:
$ coconut info --help
USAGE:
coconut info [OPTIONS]
OPTIONS:
-m, --mint Fetch mint information
-n, --mnemonic Show your mnemonic
-h, --help Show this help output.
Here's an example of using the info
command with the --mnemonic
option:
$ coconut info --mnemonic
Version: 0.1.0
Wallet: coconut
Cashu dir: /Users/abdel/Library/Application Support/coconut
Mints:
- URL: https://example.com:3338
- Keysets:
- ID: example_id unit: sat active: True fee (ppk): 0
Mnemonic:
- example word1 word2 word3 ...
Nostr:
- Public key: npub1example...
- Relays: wss://example1.com, wss://example2.com
This command displays general information about the wallet, including the version, wallet name, Cashu directory, mint information, and Nostr details. The --mnemonic
option additionally displays the wallet's mnemonic phrase.
Note: Be cautious when using the --mnemonic
option, as it displays sensitive information. Make sure you're in a secure environment when viewing your mnemonic.
This project includes performance benchmarks for each step of the BDHKE process, as well as the end-to-end flow.
To run the benchmarks on your local machine:
zig build bench -Doptimize=ReleaseFast
The benchmarks will be compiled with the ReleaseFast optimization level.
Current results:
Operation | Time us | Time ns |
---|---|---|
hashToCurve | 7.182 us | 7181.94 ns |
step1Alice | 23.608 us | 23608.43 ns |
step2Bob | 28.003 us | 28002.82 ns |
step3Alice | 25.102 us | 25101.80 ns |
verify | 29.020 us | 29020.39 ns |
e2e | 112.626 us | 112626.12 ns |
This run was performed on a MacBook Pro with an M1 chip.
Machine Info:
Model: MacBook Pro
CPU: Apple M1 Max
Cores: 10 (Physical), 10 (Logical)
Memory: 64 GB
macOS Version: 14.5
Zig Version: 0.14.0-dev.850+ddcb7b1c1
Thanks goes to these wonderful people (emoji key):
A₿del ∞/21M 🐺 - 🐱 💻 🤔 🧑🏫 📆 🔬 👀 |
Nikita Orlov 💻 |
|||||
Add your contributions |
This project follows the all-contributors specification. Contributions of any kind welcome!