![License: GPL](https://img.shields.io/badge/license-GPLv2-blue)![Version Badge](https://img.shields.io/badge/version-0.1.2-lightgrey.svg)

# 4EVERLAND
4EVERLAND is a Web 3.0 cloud computing platform that integrates storage, computing, and network core capabilities. It aims to help the user to make a smooth leap from Web 2.0 to Web 3.0 and become the infrastructure for millions of Web 3.0 developers and applications

# Contracts
The contracts are upgradable, following the [Open Zeppelin Proxy Upgrade Pattern](https://docs.openzeppelin.com/upgrades-plugins/1.x/proxies). Each contract will be explained in brief detail below.

**_Stake_**
> Allows users to register a secodary candidate, the candidate can stake 4EVER to obtain 4EVER from the protocol, candidate can be voted to upgrade to be a major candidate, the major candidate will obtain much more 4EVER than secodary candidate. the candidate can divide a part of rewards to its voters to attract more votes.

**_Election_**
> Any one can vote a candidate to obtain 4EVER, the top nine candidates will be major candidates.

**_Slasher_**
> Any candidate can draft a proposal to slash another candidate, if there are .

**_4EVER_Token_**
> An ERC-20 token (4EVER) that is used as a work token to power the network incentives. The token is linear inflationary.

# Contract Addresses
The testnet runs on Mumbai, while mainnet is on Polygon Mainnet. The addresses for both of these can be found in `./deployments`.

# Local Setup
To setup the contracts locally, checkout the `dev` branch, then run:
```bash
yarn
yarn build
```

# Testing
```bash
yarn test
```

# Gas reporter
```bash
yarn gas
```

# Generate documentation
```bash
yarn doc
```

# Copyright

Copyright &copy; 2022 4everland.

Licensed under [GPL license](LICENSE).