A legitimate list of community backed quality BPs to vote for
The Eden Smart proxy is an app available only for eden on EOS members. The intention behind this project is to leverage the Eden democratic process to produce a legitimate list of community backed quality BPs to vote for. Eden members can delegate their vote to the eden smart proxy which then votes for the top 30 BPs according to a weighted calculation depending on members' election rank.
We apply a weighted calculation based on the number of voters for each election that delegates represent. The following formula is used to assign points for each delegates vote according to their election rank.
Total Voters / Number of L1 Delegates = L1 Delegate Weight
Total Voters / Number of L2 Delegates = L2 Delegate Weight
-
The total voters is the number of eden members that participated in the election.
-
Sortition Head Delegate will have the same vote weight as other chief delegates.
-
Vote weight is rounded to the closest integer.
For the fourth eden election we have the following election results:
Number of members that participated: 82
Number of L1 delegates Elected: 20
Number of L2 delegates Elected: 5
Eden Member ======> 1 Point
Level 1 Delegate => 82 / 20 = 4 points
Level 2 Delegate => 82 / 5 = 16 points
To compile the Smart Contract, make sure you have Docker
installed. To install docker, please follow this guide.
Run:
cd contracts
docker_build.sh
We are using Next.js React Framework for building the web application.
An Antelope smart contract that calculates the weighted votes for each eden member and casts a vote as an EOS proxy.
This application features the following technology stack :
- React JS : A Front End Web Application Framework.
- EOSIO : Blockchain protocol with industry-leading transaction speed.
- Kubernetes : Docker Container Orchestration.
Within this repository you will find the following directories and files:
.
├── docs .......................... Documentation
│ └── images .................... Images and Diagrams
├── contracts ..................... Smart Contract Code
├── kubernetes .................... Kubernetes Manifests
├── src ........................... NextJS Web Application
├── public ........................ Static Website Files
└── utils ......................... Makefiles for project build
First, run the development server:
npm run dev
# or
yarn dev
Open http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying pages/index.tsx
. The page auto-updates as you edit the file.
API routes can be accessed on http://localhost:3000/api/hello. This endpoint can be edited in pages/api/hello.ts
.
The pages/api
directory is mapped to /api/*
. Files in this directory are treated as API routes instead of React pages.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
Please read EOS Costa Rica's Open Source Contributing Guidelines.
Please report bugs big and small by opening an issue
Edenia runs independent blockchain infrastructure and develops web3 solutions. Our team of technology-agnostic builders has been operating since 1987, leveraging the newest technologies to make the internet safer, more efficient, and more transparent.