Hysen Labs
Open-source project
AOSSIE-Org/Agora-Blockchain avatar
AOSSIE-Org

Agora-Blockchain

Agora-Blockchain

100 stars195 forksJavaScriptNOASSERTION
01
DEEP OPEN-SOURCE ANALYSIS

Agora-Blockchain: voting algorithms on a chain

Some voting algorithms already run in a centralized form, built in Scala by AOSSIE. This project is the plan to move the same kind of voting onto a decentralized platform where a ballot cannot be changed.

02
DEEP OPEN-SOURCE ANALYSIS

Where the idea comes from

The repo starts from a concrete point. Voting methods like Moore's, Oklahoma, Borda, and IRV already exist, and AOSSIE has implemented some of them in a centralized way with Scala on the backend. The stated vision is to move those algorithms onto a decentralized platform so that votes cannot be rewritten by admins, hackers, or anyone with access to the database. Blockchain technology makes the ballots immutable, which is the whole argument for the project.

03
DEEP OPEN-SOURCE ANALYSIS

The stack

Solidity handles the smart contracts on Ethereum. Hardhat is the development environment for testing, deploying, and managing those contracts, and ChainLink is there for cross-chain interoperability. EIPs keep the code aligned with the latest Ethereum Improvement Proposals, while OpenZeppelin supplies well-audited contracts that are easy to drop in. On the frontend side it is Next.js, a React framework, with Node.js for server-side work and MetaMask as the browser extension for managing Ethereum accounts.

04
DEEP OPEN-SOURCE ANALYSIS

How elections are created

The ElectionFactory contract sits at the center of election creation and management. It generates new election instances, handles cross-chain voting, and keeps a record of active elections. To create contracts efficiently it uses a clonable election template, and ballots come from a separate BallotGenerator contract. That split between factory, template, and ballot generation is what keeps the flow consistent.

05
DEEP OPEN-SOURCE ANALYSIS

Design choices

A few properties are called out explicitly. Clonable contracts cut deployment costs by cloning a pre-deployed template instead of starting fresh. Owner management means only the election creator can delete or modify an election. And cross-chain voting is whitelisted, running through Chainlink's Cross-Chain Interoperability Protocol. These three features are the design surface of the project, and the architecture is built around them.

06
DEEP OPEN-SOURCE ANALYSIS

Getting involved

Contributions begin with an issue, whether it is a feature request, a bug report, or a security concern, and wait for an assignment. Work always happens on a new branch of a forked repository. Changes should be tested thoroughly with code quality in mind. Small frontend changes under twenty lines, and documentation updates, can go straight in as a pull request without the longer review path.

07
DEEP OPEN-SOURCE ANALYSIS

Editorial conclusion

The pieces line up as a whole: a library of voting algorithms, an ElectionFactory that creates and tracks elections, and smart contracts that make ballots hard to tamper with once they are cast.

08
DEEP OPEN-SOURCE ANALYSIS

Official sources

09
Community notes

Community notes