{"id":23840267,"url":"https://github.com/rubberazer/wall_e_t","last_synced_at":"2025-10-10T02:12:50.284Z","repository":{"id":270675437,"uuid":"911118668","full_name":"Rubberazer/wall_e_t","owner":"Rubberazer","description":"Tools to develop Bitcoin wallets in C","archived":false,"fork":false,"pushed_at":"2025-07-19T20:14:36.000Z","size":502,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-19T22:58:45.243Z","etag":null,"topics":["bip173","bip32","bip39","bip84","bitcoin","bitcoin-wallet","c","libcurl","libgcrypt","segwit-address","sqlite3"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Rubberazer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-01-02T09:35:38.000Z","updated_at":"2025-07-19T20:14:39.000Z","dependencies_parsed_at":"2025-01-02T10:36:41.826Z","dependency_job_id":"2b22ac0b-3e29-4dea-bb56-8bd3d0499aa2","html_url":"https://github.com/Rubberazer/wall_e_t","commit_stats":null,"previous_names":["rubberazer/wall_e_t"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Rubberazer/wall_e_t","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rubberazer%2Fwall_e_t","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rubberazer%2Fwall_e_t/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rubberazer%2Fwall_e_t/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rubberazer%2Fwall_e_t/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Rubberazer","download_url":"https://codeload.github.com/Rubberazer/wall_e_t/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rubberazer%2Fwall_e_t/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002530,"owners_count":26083399,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bip173","bip32","bip39","bip84","bitcoin","bitcoin-wallet","c","libcurl","libgcrypt","segwit-address","sqlite3"],"created_at":"2025-01-02T17:30:43.089Z","updated_at":"2025-10-10T02:12:50.279Z","avatar_url":"https://github.com/Rubberazer.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# wall_e_t\nBitcoin wallet and the collection of functions to build your own, all written in C.\n\nThis software implements the following standards or BIPs (Bitcoin Improvement Proposals):\n - [BIP32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki) Hierarchical Deterministic Wallets\n - [BIP39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki) Mnemonic code for generating deterministic keys\n - [BIP44](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki) Multi-Account Hierarchy for Deterministic Wallets\n - [BIP84](https://github.com/bitcoin/bips/blob/master/bip-0084.mediawiki) Derivation scheme for P2WPKH based accounts\n - [BIP173](https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki) Base32 address format for native v0-16 witness outputs\n \n## Acknowledgments\nThis software package is built upon the shoulders of the [libgcrypt](https://www.gnupg.org/software/libgcrypt/index.html), [SQLite](https://www.sqlite.org/copyright.html) and [libcurl](https://curl.se/docs/copyright.html) libraries, all honour and glory to those developers.\nAlso code snippets from the reference implementation of [BIP173](https://github.com/sipa/bech32/tree/master/ref) have been used to calculate bech32 type of address checksums.\nBalances are coming through a web API, more specifically, this one: https://blockchain.info\n\n## Dependencies\nIn order to compile, you will need to install libgcrypt, SQLite and libcurl first e.g. on a Debian based system this should be as simple as:\n\n    sudo apt install libgcrypt20-dev \u0026\u0026 sudo apt install libsqlite3-dev\t\u0026\u0026 \\\n    sudo apt install libcurl4-openssl-dev\n\n## Donations\nIf you want to donate a few sats so I can test transactions with real coins, you can do it here: **bc1qnxa4xaku7jpu9gw5ls8pq95tkzvsxyl4hytllw**\n\n## Test vectors\nSome, but not all of the test vectors included at the end of the concerned BIPs, plus numerous (lots) of tries here: https://iancoleman.io/bip39, all looking good at this point, extremely useful site by the way. Also, Greg's site is an absolute must, highly recommended: https://learnmeabitcoin.com/.\n\n## Is it safe?\nVery early development so at this point you shouldn't put any serious funds into the wallet itself, the way I look at this project is more educational e.g. example of how to develop a wallet in C and not using the ubiquitous OpenSSL. So far it is better to use the code to play yourself and maybe create your own wallets and see how it is done.\n\n## Tests\nYou can just compile the tests:\n\n    make tests\n\nThis above will produce 5 executable files, if you run this one: ./test_BIP84 what you will get is basically a full BIP84 wallet derived from mnemonics up to the change addresse(s), read the code to see what is going on. \n\n## The Wallet\nYou should compile with:\n\t\n\tmake wallet\n \nThis will generate an executable: wall_e_t, options are:\n\n[wall_e_t_demo](https://github.com/user-attachments/assets/11cc3800-bc18-461e-9366-f40d5ddbe2cf)\n\n\n### Create wallet\nThis will create a wallet with a mnemonic phrase so you can recover it in the future\n\n\t./wall_e_t -create\n\t\n### Recover wallet\nThis will recover your wallet starting from a mnemonic phrase and an optional passphrase \n\n\t./wall_e_t -recover\n\n### Receive\nThis will create a new bitcoin address so you can receive coins, and store this address in your wallet\n\n    ./wall_e_t -receive\n\t\n### Show key\nThis will show your Private Root key on screen \n\n\t./wall_e_t -show key\n\n### Show Addresses\nThis will show all your bitcoin addresses on screen\n\n    ./wall_e_t -show addresses\n\n### Show keys\nThis will show all your bitcoin addresses with their respective private keys on screen\n\n    ./wall_e_t -show keys\n\n### Balance\nThis will show on screen the amount of satoshis per bitcoin address and the totals in your wallet\n\n    ./wall_e_t -balance\n\t\n### Transaction (not ready yet)\nIt will generate a raw transaction based on a single input and 2 potential outputs\n\n    ./wall_e_t -transaction\n\n### Transfer (not ready yet)\nTo transfer your coins to some other address\n\n    ./wall_e_t -transfer\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubberazer%2Fwall_e_t","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frubberazer%2Fwall_e_t","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubberazer%2Fwall_e_t/lists"}