{"id":22886605,"url":"https://github.com/zenodeapp/namada-proposals","last_synced_at":"2025-10-15T17:37:28.564Z","repository":{"id":223764189,"uuid":"761403746","full_name":"zenodeapp/namada-proposals","owner":"zenodeapp","description":"Automate Namada's proposal voting and monitor your participation rate in governance.","archived":false,"fork":false,"pushed_at":"2024-03-04T07:49:47.000Z","size":66,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-31T18:47:49.622Z","etag":null,"topics":["anoma","blockchain","governance","namada","privacy","proposals","voting"],"latest_commit_sha":null,"homepage":"https://zenode.app/explorer/namada","language":"Shell","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/zenodeapp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":["zenodeapp"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"polar":null,"custom":["https://zenode.app/support"]}},"created_at":"2024-02-21T20:02:56.000Z","updated_at":"2024-02-21T23:06:44.000Z","dependencies_parsed_at":"2024-03-04T08:47:41.784Z","dependency_job_id":null,"html_url":"https://github.com/zenodeapp/namada-proposals","commit_stats":null,"previous_names":["zenodeapp/namada-proposals"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zenodeapp/namada-proposals","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zenodeapp%2Fnamada-proposals","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zenodeapp%2Fnamada-proposals/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zenodeapp%2Fnamada-proposals/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zenodeapp%2Fnamada-proposals/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zenodeapp","download_url":"https://codeload.github.com/zenodeapp/namada-proposals/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zenodeapp%2Fnamada-proposals/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279096530,"owners_count":26102585,"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-15T02:00:07.814Z","response_time":56,"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":["anoma","blockchain","governance","namada","privacy","proposals","voting"],"created_at":"2024-12-13T20:19:28.326Z","updated_at":"2025-10-15T17:37:28.518Z","avatar_url":"https://github.com/zenodeapp.png","language":"Shell","funding_links":["https://github.com/sponsors/zenodeapp","https://zenode.app/support"],"categories":[],"sub_categories":[],"readme":"# Namada Proposals\n\nAutomate Namada's proposal voting and monitor your participation rate in governance.\n\nThis has been written by ZENODE and is licensed under the APACHE 2.0-license (see [LICENSE](./LICENSE)).\n\n## Versions\n\nThere are currently **two versions**. While V2 is superior in most cases, V1 could still have its use. Especially in `TEST` mode, which makes it easy to print out vote commands without necessarily executing them.\n\n\u003e [!TIP]\n\u003e\n\u003e **Tip for both versions**\n\u003e \n\u003e Saving `$NAMADA_WALLET_PASSWORD=your_password` to _~/.bashrc_ or _~/.bashprofile_ could really make your life easier when you want to automate these proposals. Make sure to source the file afterwards in your terminal (e.g. `source ~/.bashrc`).\n\n## V2\n\n### Requirements\n- Faith and trust that this isn't a Trojan virus.\n- `jq` - install this using `sudo apt-get install jq`.\n- [Namada binary installed](https://github.com/anoma/namada). \n\n### Capabilities\n\n- Keeps track of proposals already voted on (saves this in a `.txt` file)\n- Shows your governance participation rate (either in `--offline`-mode or via a partial-live calculation).\n  \u003e Partial because it uses offline data wherever it can, but also attempts to check the proposals it hasn't processed yet.\n  \u003e\n  \u003e If you want to recalculate, simply remove the `.txt`-file or point to a different `--output-file`.\n- Executes `vote-proposal`-commands for proposals a configured voter(s) has (or have) not yet voted on.\n- Parses values like `memo`, `node`, `voters` and `votes` from a `config.json`-file (see [config.json.example](/config.json.example)).\n- Randomizes between `votes` and `voters` values during the execution of a vote; can be adapted in the `config.json`-file.\n\n### Quick-start\n\n#### 1. Clone\n```\ngit clone https://github.com/zenodeapp/namada-proposals.git \u0026\u0026 cd namada-proposals\n```\n\n#### 2. Configuration\n   \n\u003e [!WARNING]\n\u003e\n\u003e Make sure to change the configurations!\n\n```\ncp config.json.example config.json\n```\n\n#### 3. Run\n\n\u003e [!IMPORTANT]\n\u003e\n\u003e The first run will always be slower than subsequent ones, since the utility won't have processed any of your proposals _yet_.\n\n```\nbash zen_voting_v2.sh\n```\n\u003e Use `bash`; _sh_ won't work!\n\n### More\n\nFor more help see `bash zen_voting_v2.sh -h` or `bash zen_voting_v2.sh --help`. It will show which configurations it parsed from the `config.json` file and also a list of _optional options_ you're able to use.\n\n```\nUsage: zen_voting_v2.sh [options]\nConfiguration (config.json):\nmemo      tpknam1qz36mzdvdmxvvcpv3c36zzs5v369jauws0tzrxesuaexy0p25r5sy0jsuac\nvoters    tnam1qq22qmw72m3e6c8lajx8jmzzh2h4t3dp7cfs4dxf tnam1qy6sfh87d4uy0d8mcc9gww5h0pctxvf0m5vdgw2c\noptions   yay nay abstain\nnode      tcp://127.0.0.1:26657\n\nOptions (all are optional):\n  --output-file                Where all the processed votes should be stored (set to: processed_votes.txt).\n  --skip-execution             Prints information about each proposal without attempting to vote (set to: false).\n  --show-skipped               Show proposals this utility already processed (set to: false).\n  --offline                    Doesn't process new votes and only calculates and prints the percentage for known processed votes (set to: false).\n  -h, --help                   Show this help message.\n```\n\n\u003e [!TIP]\n\u003e\n\u003e Creating a cronjob that periodically runs this script - let's say every _epoch_ - would be **the cheat of a lifetime** in this _Shielded Expedition_; *wink*, *wink*.\n\n## V1 (old)\n\n\u003e [!WARNING]\n\u003e\n\u003e A caveat with this version is that values are hardcoded; you'll have to make the necessary changes at the top of the script. I might change this in the near-future, but is not a priority of mine since V2 already solves this.\n\n### Requirements\n- Faith and trust that this isn't a Trojan virus.\n- [Namada binary installed](https://github.com/anoma/namada).\n\n### Capabilities\n\n- Executes `vote-proposal`-commands for a range of proposals (`n1`...`n2`).\n- Allows specifying `specific_proposals`, which are useful if you want to process proposals outside the set range.\n- A `TEST`-mode where every `vote-proposal`-command only gets printed, either to double-check or have a list of commands for later use. \n- Randomizes between `aliases` and `vote_options` values during the execution of a vote.\n\n### Quick-start\n\n#### 1. Clone\n```\ngit clone https://github.com/zenodeapp/namada-proposals.git \u0026\u0026 cd namada-proposals\n```\n\n#### 2. Configuration\n   \nMake the necessary changes in the script `zen_voting_v1.sh`.\n\n#### 3. Run\n\n```\nbash zen_voting_v1.sh\n```\n\u003e Use `bash`; _sh_ won't work!\n\n\u003c/br\u003e\n\n\u003cp align=\"right\"\u003e— ZEN\u003c/p\u003e\n\u003cp align=\"right\"\u003eCopyright (c) 2024 ZENODE\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzenodeapp%2Fnamada-proposals","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzenodeapp%2Fnamada-proposals","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzenodeapp%2Fnamada-proposals/lists"}