{"repo":"grinventions/mimblewimble-py","free":true,"listed":false,"github":"https://github.com/grinventions/mimblewimble-py","clone":"git clone https://github.com/grinventions/mimblewimble-py.git","description":"Pure Python implementation of Mimblewimble protocol for Grin cryptocurrency","language":"Python","stars":25,"topics":["cryptocurrency","blockchain"],"license":"MIT","category":"blockchain-web3","readme_excerpt":"Mimblewimble in Python We are building the first Python-based implementation of the Mimblewimble protocol for the grin cryptocurrency. At the moment it is at the most early stage of development. Heavily based on the grin++ wallet. Scripts - Node persistence adapters and related utilities are documented in scripts/README.md. Usage Generating wallets Simplest operation is simply make a new wallet it will respond Restoring wallet from the recovery phrase You may restore the wallet from the recovery phrase as follows it will respond BIP39 Password-Protected Seed (Passphrase) The wallet supports BIP39 passphrase protection, which adds an optional password (sometimes called a \"25th word\") to the mnemonic recovery phrase. This provides an extra layer of security and enables plausible deniability — the same mnemonic phrase with different passphrases will derive entirely different wallets. How it works 1. A standard 24-word mnemonic is generated from random entropy 2. The mnemonic and an optional passphrase are fed into PBKDF2-HMAC-SHA512 (2048 iterations) with the salt \"mnemonic\" + passphrase 3. This produces a 64-byte BIP39 seed 4. The BIP39 seed is then passed through HMAC-SHA512 with the Grin-specific key \"IamVoldemort\" to derive the master key 5. All wallet keys (private keys, ED25519, slatepack addresses) are derived from that master key via BIP32 Using no passphrase (empty string) is equivalent to standard mnemonic behavior, so existing wallets are unaffected. Creating a wallet","default_branch":null,"files":null,"tree":[],"storefront":"/r/grinventions","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/grinventions/mimblewimble-py/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}