{"id":46879974,"url":"https://github.com/nicolocarcagni/swallet","last_synced_at":"2026-03-10T21:01:42.893Z","repository":{"id":341931422,"uuid":"1171717666","full_name":"nicolocarcagni/Swallet","owner":"nicolocarcagni","description":"A modern, non-custodial desktop wallet for the SOLE cryptocurrency, built with Python, GTK4, and libadwaita.","archived":false,"fork":false,"pushed_at":"2026-03-03T23:38:19.000Z","size":36,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-04T03:48:59.779Z","etag":null,"topics":["cryptography","gtk4","gtk4-python3","unisalento","wallet"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nicolocarcagni.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-03T14:33:55.000Z","updated_at":"2026-03-03T23:38:23.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/nicolocarcagni/Swallet","commit_stats":null,"previous_names":["nicolocarcagni/swallet"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/nicolocarcagni/Swallet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicolocarcagni%2FSwallet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicolocarcagni%2FSwallet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicolocarcagni%2FSwallet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicolocarcagni%2FSwallet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nicolocarcagni","download_url":"https://codeload.github.com/nicolocarcagni/Swallet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicolocarcagni%2FSwallet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30355223,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T15:55:29.454Z","status":"ssl_error","status_checked_at":"2026-03-10T15:54:58.440Z","response_time":106,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["cryptography","gtk4","gtk4-python3","unisalento","wallet"],"created_at":"2026-03-10T21:01:11.310Z","updated_at":"2026-03-10T21:01:42.881Z","avatar_url":"https://github.com/nicolocarcagni.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SOLE Wallet\n\nSOLE Wallet is a native, non-custodial desktop client for the SOLE cryptocurrency network. Built with Python 3, GTK4, and libadwaita, it adheres to modern GNOME human interface guidelines to provide a native Linux desktop experience.\n\nThe application allows users to generate and manage local wallets, view their balance and transaction history, and broadcast new transactions directly to the network without relying on third-party custodial services. Private keys are encrypted locally using AES-GCM and never leave the device.\n\n## Architecture\n\nAt its core, SOLE Wallet is a thin client that interfaces directly with a remote or local SOLE Go node via a REST API. It handles UTXO (Unspent Transaction Output) management and cryptographic signing natively in Python.\n\nWhen a user initiates a transfer, the wallet queries the Go node for available UTXOs to cover the amount. It then constructs the transaction, substitutes the appropriate public key hashes for spending, and signs the payload locally via ECDSA (P-256). The fully serialized, byte-perfect transaction is then converted to a hex string and broadcast to the node's `/tx/send` endpoint. The node reconstructs the transaction, verifies the signature against the consensus rules, and propagates it to the network.\n\n## Building and Installation\n\nThis project is packaged exclusively as a Flatpak and uses the Meson build system. Dependencies are managed strictly via an offline, reproducible manifest generated by `flatpak-pip-generator`.\n\nTo build the application from source, you will need `flatpak`, `flatpak-builder`, and the GNOME SDK installed on your system.\n\n1. Clone the repository\n```bash\ngit clone https://github.com/nicolocarcagni/Swallet.git\ncd Swallet\n```\n\n2. Generate the Python dependencies\nIf you modify `requirements.txt`, you must regenerate the Flatpak dependency manifest before building. Use the provided generator script:\n```bash\npython3 build-aux/flatpak-pip-generator.py -r requirements.txt --output python3-requirements\n```\n\n3. Build and install via Flatpak Builder\nCompile the application and install it for the local user:\n```bash\nflatpak-builder --user --install --force-clean build-dir io.github.nicolocarcagni.Swallet.json\n```\n\nAlternatively, you can open the project in GNOME Builder and hit the \"Run\" button to compile and execute it within a sandboxed environment.\n\n## Running\n\nIf installed via the command line, you can launch the application by running:\n```bash\nflatpak run io.github.nicolocarcagni.Swallet\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicolocarcagni%2Fswallet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnicolocarcagni%2Fswallet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicolocarcagni%2Fswallet/lists"}