Development resources at your finger tips
Build with the coolest Web3 projects
Recurring funding for Open Source
Ethical ads to power Open Source
Learn about Web3 & earn rewards
Show appreciation for each other
Meet fellow developers, designers, futurists and more. Collaborate and BUIDL awesome projects together.
Discover great web3 organizations, work on meaningful projects and build relationships with like minded people. Browse Tribes
Meet the top hunters and contributors from our community.
KERNEL is an 8-week, invite-only program for top tech talent looking to build relationships, products, and companies in blockchain and Web 3. 100 tal…
Heyo Gitcoiners! With an entire city of hackers, coders and blockchain innovators relocated on our platform, the atmosphere is just buzzing with crea…
Type in [[ 2- term.length]] more characters to get results
[[ result.title ]]
[[ result.description | truncate(70) ]]
No matches found
Gitcoin is GDPR complaint. Learn more in
Gitcoin's Terms & Conditions.
Check out the Issue Explorer
Looking to fund some work? You can submit a new Funded Issue here.
Demo polling app specification for functions to support blockchain (and other forms) of voting for decentralized organizations on the autom(8) platform
We are the autom(8) team. autom(8) is developing a decentralized serverless platform for communal microservices. Functions are deployed to the platform and shared between developers, teams, and organizations as runnable microservices that anyone can call. We are developing demo apps to demonstrate how autom(8) can be used in the blockchain space to rapidly build apps from commonly used functions. This app will be a simple polling (voting) application.
Please see the open source repository and documentation for more information on autom(8).
## Product Specification
Create a polling mechanism for orgs to organize constituents and initiatives, take a poll of constituents among their initiatives, and inspect and share the outcomes of polls.
## Scope of work
### The steps required (in order):
1. **Specify the Solidity smart contracts** - Spec out the smart contract development work based on the Key Organizational structures in the sections below. Confirm specification with the autom(8) team.
2. **Specify the microservices (pure functions) to be deployed to autom(8) serverless platform** - Work with us to define and spec out the functions to be deployed to autom(8).
3. **Interaction interface**
- (nice to have) Simple web endpoints
4. **Build the smart contracts** - Build out the Solidity contracts according to the jointly developed technical spec.
5. **Build and deploy the microservices** - Use autom(8) to host/run the functions specified according to the jointly developed technical spec.
6. **Test and review** - Test functionality with the autom(8) and participate in a debrief to give us feedback on your experience with the platform.
### Key Organizational structure:
- **Organizations** - a list of constituents and initiatives
- **Initiatives** (measures) - Initiatives are a list of constituents, Initiative Bounds (length of vote, or number of votes allowed), a list of choices, and plaintext description of the initiative. It also has a derivative concept of a current winner, and the status (pre-voting, ongoing, concluded)
- **Constituents** - a wallet address present on the organization’s list of constituents a
- **Choices** - a plaintext description of an option that can be selected by a constituent on a particular initiative
### Key Terms:
- **Status** - The state of the initiative as decided by the bounds. Status can be
- pre-vote - voting has yet to begin
- ongoing - voting is open but the bounds have not been reached
- concluded - the vote is finished and the resolution is decided
- **Initiative Bounds** - The initiative bounds are the rules that will determine the status. Bounds can be time bound (a window of time when voting will be allowed)
- **Voting System** - There are several imaginable types of voting systems consisting of scoring criteria and ballot type:
- **Scoring Criteria** - Simple majority, plurality (the choice most frequently selected of a multiple choice option)
- **Ballot Type** - Yea or Nay; Multiple choice: First Past the Post (plurality rule)
- **Initiative Text** - A plaintext description of what is being voted on. Interpretation and implementation of the initiative is outside of the scope. In short, this is only a polling app. It provides no means of deciding on what the outcome of a vote means, nor does it enforce the outcome of a given vote. It simply determines that a plaintext description has been voted on and which outcome has met the winning threshold of votes.