{"id":20060611,"url":"https://github.com/oasisprotocol/dapp-votee","last_synced_at":"2025-05-05T15:33:15.044Z","repository":{"id":229688012,"uuid":"763690315","full_name":"oasisprotocol/dapp-votee","owner":"oasisprotocol","description":"voTEE - dApp for voting on all things related to Oasis.","archived":false,"fork":false,"pushed_at":"2025-04-27T03:43:55.000Z","size":2174,"stargazers_count":3,"open_issues_count":11,"forks_count":0,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-04-27T04:28:26.143Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://votee.oasis.io/","language":"TypeScript","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/oasisprotocol.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":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-02-26T18:43:43.000Z","updated_at":"2025-04-14T15:05:21.000Z","dependencies_parsed_at":"2024-07-10T15:16:09.551Z","dependency_job_id":"10c067e3-a04d-4f4b-aeeb-3877ea49ba88","html_url":"https://github.com/oasisprotocol/dapp-votee","commit_stats":null,"previous_names":["oasisprotocol/dapp-votee"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oasisprotocol%2Fdapp-votee","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oasisprotocol%2Fdapp-votee/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oasisprotocol%2Fdapp-votee/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oasisprotocol%2Fdapp-votee/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oasisprotocol","download_url":"https://codeload.github.com/oasisprotocol/dapp-votee/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252524291,"owners_count":21762070,"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","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":[],"created_at":"2024-11-13T13:15:57.727Z","updated_at":"2025-05-05T15:33:14.254Z","avatar_url":"https://github.com/oasisprotocol.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\n\u003ch1 align=\"center\"\u003eOasis voTEE\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n[![CI build status][github-ci-build-badge]][github-ci-build-link]\n[![CI lint status][github-ci-lint-badge]][github-ci-lint-link]\n\n\u003c/div\u003e\n\n\u003c!-- PROJECT BASIC INFORMATION --\u003e\n\u003cbr /\u003e\n\u003cp align=\"center\"\u003e\n    The Community Vote gives ROSE holders the power to choose the Oasis Network’s first mascot,\n    a character that will appear in new communications from the Oasis Network.\n    This project aligns with our mission to build a decentralized internet defined by privacy, security, and usability.\n    \u003cbr /\u003e\n    \u003ca href=\"https://oasisprotocol.org/oasis-mascot-voting\"\u003e\u003cstrong\u003eLearn more »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://votee.oasis.io/\"\u003eView voTEE dApp\u003c/a\u003e\n    ⟐\n    \u003ca href=\"https://github.com/oasisprotocol/dapp-votee/issues/new/choose\"\u003eReport Bug\u003c/a\u003e\n    ⟐\n    \u003ca href=\"https://github.com/oasisprotocol/dapp-votee/issues/new/choose\"\u003eRequest Feature\u003c/a\u003e\n\u003c/p\u003e\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n\n## About The Project\n\n[![voTEE dApp][votee-voting-screenshot]](https://votee.oasis.io/)\n\nThis project pertains to a voting campaign for the selection of a mascot for the Oasis Network. The campaign involves a\ncontract and a decentralized application (dApp) specifically designed to facilitate the voting process. This dApp\nharnesses the power of [Oasis Sapphire ParaTime](https://docs.oasis.io/dapp/sapphire/) to enable confidential voting.\n\nThe poll, created by the contract, provides three mascots for participants to vote for. Each mascot symbolizes a\ndifferent aspect of the Oasis Network as follows:\n\n- Capybara symbolizes _Interoperability_\n- Desert Owl represents _Knowledge_\n- Fennec Fox stands for _Privacy_\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- ROADMAP --\u003e\n\n## Roadmap\n\nVoTEE dApp is conceptualized as a dApp allowing for participatory voting on a myriad of decisions\nrelated to Oasis, with the Oasis mascot vote serving merely as one such instance out of many potential future ones. As\nper the envisaged evolution of this project, this repository is subject to change in the future.\n\n_Stay tuned for future updates._\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- GETTING STARTED --\u003e\n\n## Getting Started\n\nThis project depends on Node.js, therefore please confirm your system has it installed.\n\n### Prerequisites\n\nThis project utilizes [pnpm](https://pnpm.io/installation#prerequisites) as its package manager.\nWe recommend using npm for a hassle-free installation of pnpm.\n\n```sh\nnpm install -g @pnpm/exe\n```\n\n### Installation\n\nThis project is structured into two subprojects. The frontend dApp is found within the\n'frontend' subdirectory, whereas the contract resides within the 'backend' subdirectory.\n\nTo install all necessary dependencies, execute the following command in the root of this project:\n\n```sh\npnpm install\n```\n\n### Contract\n\nContracts are developed using [Hardhat](https://hardhat.org/docs). To ensure that the contract's confidentiality\nfeatures function correctly, it is necessary to deploy the contract to\nthe [Oasis Sapphire network](https://docs.oasis.io/dapp/sapphire/). The network may be a localnet, testnet, or mainnet.\n\nTo compile contracts in the Hardhat project, execute the following command inside 'backend' folder:\n\n```sh\npnpm run build\n```\n\nThe above step, is also required for frontend dApp development and build process.\n\n#### Deployment Process\n\nFor the deployment of the contract, please execute the following command:\n\n```sh\n# Upon successful deployment of the contract, this script will automatically generate a poll.\nnpx hardhat deploy --network sapphire-testnet\n```\n\nPlease confirm that the `PRIVATE_KEY` environment variable is set. This is because the Hardhat configuration defaults to\nthis variable. Failing to set the `PRIVATE_KEY` will result in the use of the default Hardhat node localnet private\nkey/s - it is strongly advised not to utilize those in a testnet or production environment.\n\n#### Scripts\n\nThere are 2 scripts available for poll manipulation after the contract has been successfully deployed.\n\n- create poll\n\n```sh\n# Example usage of create poll script\nHARDHAT_NETWORK=sapphire-testnet \\\nHARDHAT_POLL_MANAGER_CONTRACT=0xdAB5845136b3102E63023BB2A2405cb71608605d \\\nHARDHAT_ACL_NATIVE_BALANCE_CONTRACT=0x8e29375FE5Db7eBb1b5eF24B7D397bBF0B01De09 \\\nnpx hardhat run ./scripts/create.ts\n```\n\n- close poll\n\n```sh\n# Example usage of close poll script\nHARDHAT_NETWORK=sapphire-testnet \\\nHARDHAT_POLL_MANAGER_CONTRACT=0xdAB5845136b3102E63023BB2A2405cb71608605d \\\nHARDHAT_PROPOSAL_ID=0x91a86550e12752aac5353d3dae5f59867acb9058055bc9e9331db99f7e7f5627 \\\nnpx hardhat run ./scripts/close.ts\n```\n\n\u003e [!IMPORTANT]  \n\u003e **The poll needs to be manually closed**, after the `closeTimestamp` condition has been met.\n\n### Frontend\n\nA prerequisite for running the frontend dApp entails executing the build command within\nthe 'backend' directory. Please verify that the 'abis', 'artifacts', and 'src' folders have been created. If these\nfolders are not generated, please refer back to the previous \u003ca href=\"#contract\"\u003esection\u003c/a\u003e for guidance on how to\nauto generate those folders.\n\nTo start a local server for the dApp, please execute the following command within the 'frontend' directory:\n\n```sh\npnpm run dev\n```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- LICENSE --\u003e\n\n## License\n\nDistributed under the Apache 2.0 License. See `LICENSE` for more information.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n\n[github-ci-build-badge]: https://github.com/oasisprotocol/dapp-voting/actions/workflows/ci-build.yml/badge.svg\n[github-ci-build-link]: https://github.com/oasisprotocol/dapp-voting/actions?query=workflow:ci-build+branch:master\n[github-ci-lint-badge]: https://github.com/oasisprotocol/dapp-voting/actions/workflows/ci-lint.yml/badge.svg\n[github-ci-lint-link]: https://github.com/oasisprotocol/dapp-voting/actions?query=workflow:ci-lint+branch:master\n[votee-voting-screenshot]: ./images/votee-voting-screenshot.jpeg\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foasisprotocol%2Fdapp-votee","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foasisprotocol%2Fdapp-votee","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foasisprotocol%2Fdapp-votee/lists"}