Skip to content

ProjectEniko/eniko

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Eniko

Eniko is an implementation of a simple, decentralized, transparent and open nation written in Solidity for Ethereum blockchains. It is built on the principle of meeting the needs of its citizens under the guidance of a single purpose. This purpose is then expanded by the citizens by adding conseuqences to form a tree.

Further details on the principle of Eniko and a basic implementation of a user interface can be found at Project Eniko.

Eniko is a community project. Developers are welcome to join the development team and contribute towards its development.

Eniko's structure consists of a root contract, Eniko, and a set up functional data storage contracts known as Eniko Apps. Functional and data storage contracts are seperated so that functional contracts can be re-deployed without needing to re-deploy the underlying data.

The root Eniko contract is currently deployed on Ropsten at address 0xF87C6311EA1DbE9178407E6E345d772aaDdAecb4. The address which deployed the Eniko contract is known as the Founder.

The Eniko Apps are stored in an array in the Eniko contract. Some have fixed indices although it is expected that more apps will be added later to meet the needs of citizens. Fixed app indices are:

0 = Null - Used as a safe value

1 = CitizenNeedsFunctions - A set of functions to enable citizens to declare their needs and for others to provide solutions to them. NOT YET IMPLEMENTED.

2 = NeedDeployer - A deployment helper contract which enables the CitizenNeedsFunctions contract to create Need contracts. NOT YET IMPLEMENTED.

3 = SolutionDeployer - A deployment helper contract which enables the CitizenNeedsFunctions contract to create Solution contracts. NOT YET IMPLEMENTED.

4 = ConsequenceFunctions - A set of functions to enable citizens to add consequences to the purpose and read and edit consequences.

5 = ConsequenceDeployer - A deployment helper contract which enables the ConsequenceFunctions contract to create Consequence contracts.

6 = null

7 = BallotFunctions - A set of functions to enable citizens to read Ballots and, where allowed, vote in them. Currently only the Founder can create Ballots although eventually only the CitizenNeedsFunctions contract will be able to do so.

8 = BallotDeployer - A deployment helper contract which enables the BallotFunctions contract to create Consequence contracts.

9 = BallotList - A storage contract which contains a list of the addresses of all Ballots ever created.

10 = CitizenFunctions - A set of functions to enable citizens to access the friendly name and public key of other citizens and to edit their own.

11 = Citizens - A storage contract which contains a friendly name and a public key corresponding to the addresses of citizens. The public key is used to encrypt private Consequence contracts.

12 = MessagingFramework - A framework under which citizens are able to communicate with each other. NOT YET IMPLEMENTED.

To ease early development the Founder is able to replace Eniko Apps until the date 2.2.22. After 2.2.22 Eniko Apps can only be replaced by a Ballot. At this point Eniko will be fully autonomous.

In addition to Eniko Apps Consequence and Ballot contracts are also included which each store details of a single consequence or ballot and can be discovered using the ConsequenceFunctions and BallotFunctions contracts respectively.

A library Alexandria is also included for convenience and a contract EnikoApp provides common basic required functionality for all Eniko Apps.

Contract Implementations

Full details of contract implementations can be found on the Wiki.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

A full list of open projects can be found on the Projects page. We welcome all offers to contribute towards these projects.

License

GNU General Public License

About

Main Documentation on Eniko

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors