{"id":39511525,"url":"https://github.com/block-foundation/solidity-architecture-competition","last_synced_at":"2026-01-18T06:03:47.219Z","repository":{"id":183416135,"uuid":"669941528","full_name":"block-foundation/solidity-architecture-competition","owner":"block-foundation","description":"Solidity Smart Contract: Architecture Competition","archived":false,"fork":false,"pushed_at":"2024-11-04T08:20:17.000Z","size":98,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-04T22:20:55.832Z","etag":null,"topics":["architecture","architecture-competition","block-foundation","blockchain","blockfoundation","eth","ethereum","hardhat","smart-contracts","sol","solidity"],"latest_commit_sha":null,"homepage":"https://www.blockfoundation.io","language":"Solidity","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc-by-sa-4.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/block-foundation.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":".github/CODEOWNERS","security":".github/SECURITY.md","support":".github/SUPPORT.md","governance":".github/GOVERNANCE.md","roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"block-foundation","open_collective":"block"}},"created_at":"2023-07-23T23:34:00.000Z","updated_at":"2024-08-11T11:12:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"dfb4f83d-7338-4340-afb9-c3dc05ca4001","html_url":"https://github.com/block-foundation/solidity-architecture-competition","commit_stats":null,"previous_names":["block-foundation/solidity-architecture-competition"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/block-foundation/solidity-architecture-competition","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/block-foundation%2Fsolidity-architecture-competition","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/block-foundation%2Fsolidity-architecture-competition/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/block-foundation%2Fsolidity-architecture-competition/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/block-foundation%2Fsolidity-architecture-competition/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/block-foundation","download_url":"https://codeload.github.com/block-foundation/solidity-architecture-competition/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/block-foundation%2Fsolidity-architecture-competition/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28531991,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T00:39:45.795Z","status":"online","status_checked_at":"2026-01-18T02:00:07.578Z","response_time":98,"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":["architecture","architecture-competition","block-foundation","blockchain","blockfoundation","eth","ethereum","hardhat","smart-contracts","sol","solidity"],"created_at":"2026-01-18T06:03:46.390Z","updated_at":"2026-01-18T06:03:47.213Z","avatar_url":"https://github.com/block-foundation.png","language":"Solidity","funding_links":["https://github.com/sponsors/block-foundation","https://opencollective.com/block"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"right\"\u003e\n\n[![GitHub License](https://img.shields.io/github/license/block-foundation/blocktxt?style=flat-square\u0026logo=readthedocs\u0026logoColor=FFFFFF\u0026label=\u0026labelColor=%23041B26\u0026color=%23041B26\u0026link=LICENSE)](https://github.com/block-foundation/solidity-architecture-competition/blob/main/LICENSE)\n[![devContainer](https://img.shields.io/badge/Container-Remote?style=flat-square\u0026logo=visualstudiocode\u0026logoColor=%23FFFFFF\u0026label=Remote\u0026labelColor=%23041B26\u0026color=%23041B26)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/block-foundation/solidity-architecture-competition)\n\n\u003c/div\u003e\n\n---\n\n\u003cdiv\u003e\n    \u003cimg align=\"right\" src=\"https://raw.githubusercontent.com/block-foundation/brand/master/src/logo/logo_gray.png\" width=\"96\" alt=\"Block Foundation Logo\"\u003e\n    \u003ch1 align=\"left\"\u003eDecentralized Architectural Competition\u003c/h1\u003e\n    \u003ch3 align=\"left\"\u003eBlock Foundation Smart Contract Series [Solidity]\u003c/h3\u003e\n\u003c/div\u003e\n\n---\n\n\u003cimg align=\"right\" width=\"75%\" src=\"https://raw.githubusercontent.com/block-foundation/brand/master/src/image/repository_cover/block_foundation-structure-03-accent.jpg\"  alt=\"Block Foundation Brand\"\u003e\n\n### Contents\n\n- [Introduction](#introduction)\n- [Colophon](#colophon)\n\n\u003cbr clear=\"both\"/\u003e\n\n---\n\n\u003cdiv align=\"right\"\u003e\n\n[![Report a Bug](https://img.shields.io/badge/Report%20a%20Bug-GitHub?style=flat-square\u0026\u0026logoColor=%23FFFFFF\u0026color=%23E1E4E5)](https://github.com/block-foundation/solidity-architecture-competition/issues/new?assignees=\u0026labels=Needs%3A+Triage+%3Amag%3A%2Ctype%3Abug-suspected\u0026projects=\u0026template=bug_report.yml)\n[![Request a Feature](https://img.shields.io/badge/Request%20a%20Feature-GitHub?style=flat-square\u0026\u0026logoColor=%23FFFFFF\u0026color=%23E1E4E5)](https://github.com/block-foundation/solidity-architecture-competition/issues/new?assignees=\u0026labels=Needs%3A+Triage+%3Amag%3A%2Ctype%3Abug-suspected\u0026projects=\u0026template=feature_request.yml)\n[![Ask a Question](https://img.shields.io/badge/Ask%20a%20Question-GitHub?style=flat-square\u0026\u0026logoColor=%23FFFFFF\u0026color=%23E1E4E5)](https://github.com/block-foundation/solidity-architecture-competition/issues/new?assignees=\u0026labels=Needs%3A+Triage+%3Amag%3A%2Ctype%3Abug-suspected\u0026projects=\u0026template=question.yml)\n[![Make a Suggestion](https://img.shields.io/badge/Make%20a%20Suggestion-GitHub?style=flat-square\u0026\u0026logoColor=%23FFFFFF\u0026color=%23E1E4E5)](https://github.com/block-foundation/solidity-architecture-competition/issues/new?assignees=\u0026labels=Needs%3A+Triage+%3Amag%3A%2Ctype%3Abug-suspected\u0026projects=\u0026template=suggestion.yml)\n[![Start a Discussion](https://img.shields.io/badge/Start%20a%20Discussion-GitHub?style=flat-square\u0026\u0026logoColor=%23FFFFFF\u0026color=%23E1E4E5)](https://github.com/block-foundation/solidity-architecture-competition/issues/new?assignees=\u0026labels=Needs%3A+Triage+%3Amag%3A%2Ctype%3Abug-suspected\u0026projects=\u0026template=discussion.yml)\n\n\u003c/div\u003e\n\n**Welcome to the Decentralized Architectural Competition project, a smart contract that integrates the robustness of blockchain technology to administer an architectural design competition.**\n\n## Introduction\n\nThe smart contract permits the handling of competition entries, voting, and the announcement of the victor. This underscores how conventional architectural competitions can be reformed by incorporating blockchain technology, thereby resulting in a system that offers unalterable, secure, and decentralized processes for both the administrators and contestants.\n\nIn this construct, participants interact with the smart contract to submit their architectural design, which also necessitates an entry fee payment, thereby establishing their effective registration in the contest. The blockchain stores all entries, thus assuring their immutable nature and transparency.\n\nVoting is conducted via the smart contract as well, facilitating a transparent vote count for each submission. The system has been devised in such a manner that each participant is permitted a single vote, and voting is restricted after a predetermined deadline.\n\nIt further includes an automated reward distribution system. Upon reaching the voting deadline and after the vote count, the prize money, which is an accumulation of the entry fees, is automatically transferred to the winner's account. This mechanism ensures an immediate reward distribution system.\n\nThis project serves as a testament to how blockchain technology can be employed to transform multiple sectors, including architectural design. The fairness, transparency, and security of the system make it an intriguing development in the realm of architectural competitions. Such decentralized systems can foster global participation and unbiased outcomes.\n\n## Features\n\n- **Immutable Entries**: Each participant submits their design via the smart contract. The entries, stored on the blockchain, ensure immutability and transparency.\n- **Transparent Voting**: Voting happens through the smart contract. Each participant gets one vote and cannot vote post the pre-specified deadline.\n- **Automatic Prize Distribution**: Once the voting ends, the prize money, accumulated from the entry fees, is auto-transferred to the winner's account, ensuring swift and fair reward distribution.\n\n## Getting Started\n\n### Prerequisites\n\n- Install [Node.js](https://nodejs.org/)\n- Install [Ethereum's development framework, Truffle](https://www.trufflesuite.com/)\n\n### Installation\n\n1. Clone the repository:\n\n``` bash\ngit clone https://github.com/yourGitHubUsername/DecentralizedArchitecturalCompetition.git\n```\n\n2. Change into the project directory:\n\n``` bash\ncd DecentralizedArchitecturalCompetition\n```\n\n3. Install dependencies:\n\n``` bash\nnpm install\n```\n\n### Deployment\n\n1. Compile the smart contract:\n\n``` bash\ntruffle compile\n```\n\n2. Deploy the smart contract:\n\n```bash\ntruffle migrate --network yourPreferredNetwork\n```\n\n## Quick Start\n\n\u003e Install\n\n``` sh\nnpm i\n```\n\n\u003e Compile\n\n``` sh\nnpm run compile\n```\n\n## Contract\n\nThe contract is deployed by the organizer of the competition. The constructor sets the organizer and entry fee.\nA competitor can submit their entry using the submitEntry function. They have to send an amount equal to or greater than the entry fee.\nThe organizer can select the winner using the selectWinner function. They can only do this before a winner has been declared and they have to provide a valid entry index.\nWhen the winner is selected, all the entry fees collected are transferred to the winner.\nThis is a basic contract. If you need a more complex or specific functionality, please provide additional details.\n\nThe smart contract includes functionality for:\n\n- A voting mechanism where participants can vote on entries.\n- Restricting one vote per address.\n- Automatic distribution of prize money.\n- We'll also improve on a few security aspects. Let's continue using Solidity language for this:\n\nIn this contract:\n\n- A `voteCount` field to `Entry`, a `hasVoted` mapping to keep track of who has voted, and a `votingDeadline` to determine when voting ends.\n- A `vote` function that allows people to vote on entries. Each address can only vote once, and voting can only occur before the deadline.\n- A `declareWinner` function now declares the winner based on who has the most votes after the voting deadline has passed.\n- We emit an event when the winner is declared.\n- We also added two  modifiers to check if the current time is before or after the voting deadline.\n- The winner is  declared based on voting, rather than being chosen by the organizer.\n- All entry fees collected are transferred to the winner after they have been declared.\n\n_Please note that this is still a basic example and real-world contracts would likely need additional functionality, such as more complex voting mechanisms, additional security measures, handling of ties, and more. This code has not been audited and is not recommended for use in production without further modifications and testing._\n\n## Development Resources\n\n### Other Repositories\n\n#### Block Foundation Smart Contract Series\n\n|                                   | `Solidity`  | `Teal`      |\n| --------------------------------- | ----------- | ----------- |\n| **Template**                      | [**\u003e\u003e\u003e**](https://github.com/block-foundation/solidity-template) | [**\u003e\u003e\u003e**](https://github.com/block-foundation/teal-template) |\n| **Architectural Design**          | [**\u003e\u003e\u003e**](https://github.com/block-foundation/solidity-architectural-design) | [**\u003e\u003e\u003e**](https://github.com/block-foundation/teal-architectural-design) |\n| **Architecture Competition**      | [**\u003e\u003e\u003e**](https://github.com/block-foundation/solidity-architecture-competition) | [**\u003e\u003e\u003e**](https://github.com/block-foundation/teal-architecture-competition) |\n| **Housing Cooporative**           | [**\u003e\u003e\u003e**](https://github.com/block-foundation/solidity-housing-cooperative) | [**\u003e\u003e\u003e**](https://github.com/block-foundation/teal-housing-cooperative) |\n| **Land Registry**                 | [**\u003e\u003e\u003e**](https://github.com/block-foundation/solidity-land-registry) | [**\u003e\u003e\u003e**](https://github.com/block-foundation/teal-land-registry) |\n| **Real-Estate Crowdfunding**      | [**\u003e\u003e\u003e**](https://github.com/block-foundation/solidity-real-estate-crowdfunding) | [**\u003e\u003e\u003e**](https://github.com/block-foundation/teal-real-estate-crowdfunding) |\n| **Rent-to-Own**                   | [**\u003e\u003e\u003e**](https://github.com/block-foundation/solidity-rent-to-own) | [**\u003e\u003e\u003e**](https://github.com/block-foundation/teal-rent-to-own) |\n| **Self-Owning Building**          | [**\u003e\u003e\u003e**](https://github.com/block-foundation/solidity-self-owning-building) | [**\u003e\u003e\u003e**](https://github.com/block-foundation/teal-self-owning-building) |\n| **Smart Home**                    | [**\u003e\u003e\u003e**](https://github.com/block-foundation/solidity-smart-home) | [**\u003e\u003e\u003e**](https://github.com/block-foundation/teal-smart-home) |\n\n---\n\n## Colophon\n\n### Authors\n\nThis is an open-source project by the **[Block Foundation](https://www.blockfoundation.io \"Block Foundation website\")**.\n\nThe Block Foundation mission is enabling architects to take back initiative and contribute in solving the mismatch in housing through blockchain technology. Therefore the Block Foundation seeks to unschackle the traditional constraints and construct middle ground between rent and the rigidity of traditional mortgages.\n\nwebsite: [www.blockfoundation.io](https://www.blockfoundation.io \"Block Foundation website\")\n\n### Development Resources\n\n#### Contributing\n\nWe'd love for you to contribute and to make this project even better than it is today!\nPlease refer to the [contribution guidelines](.github/CONTRIBUTING.md) for information.\n\n### Legal Information\n\n#### Copyright\n\nCopyright \u0026copy; 2023 [Stichting Block Foundation](https://www.blockfoundation.io/ \"Block Foundation website\"). All Rights Reserved.\n\n#### License\n\nExcept as otherwise noted, the content in this repository is licensed under the\n[Creative Commons Attribution 4.0 International (CC BY 4.0) License](https://creativecommons.org/licenses/by/4.0/), and\ncode samples are licensed under the [Apache 2.0 License](http://www.apache.org/licenses/LICENSE-2.0).\n\nAlso see [LICENSE](https://github.com/block-foundation/community/blob/master/src/LICENSE) and [LICENSE-CODE](https://github.com/block-foundation/community/blob/master/src/LICENSE-CODE).\n\n#### Disclaimer\n\n**THIS SOFTWARE IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblock-foundation%2Fsolidity-architecture-competition","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblock-foundation%2Fsolidity-architecture-competition","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblock-foundation%2Fsolidity-architecture-competition/lists"}