Skip to content

UltimateCoder00/Makers-Society

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Makers Society Logo

Makers Society

A Decentralized Voting System & Native CryptoCurrency (MakerPoints) run on the Ethereum Blockchain.

Overview

Installation

  1. Install truffle and an Ethereum client. For local development, try EthereumJS TestRPC.

    npm install -g truffle // Version 3.0.5+ required.
    npm install -g ethereumjs-testrpc
  2. Install the node dependencies.

    npm install
  3. Install the chrome browser add-on MetaMask and create an account. Make sure your account is unlocked when interacting with the program. Save your MetaMask seed phrase - you'll need this later (if you lose it, don't worry: it can be accessed through settings).

  4. Set up Test Network to mock the Ethereum Blockchain.

    testrpc -m "(insert your MetaMask seed phrase here)"    
  5. Compile and migrate the contracts.

    truffle compile
    truffle migrate
  6. Run the webpack server for front-end hot reloading.

    npm run start

Interacting with Society

Logging in

No logins! (Well, kind of). One of the great things about Blockchains is that users have one global login for all their services - their private key. For our App this is held in MetaMask.

However we do have one extra check that for users to complete before they can join the Makers Society - reading our Manifesto. You can do here if you haven't installed the app. Your choice to adhere to these principles will be recorded on the blockchain for prosperity, and from that point forward you will be able to make Proposals, Vote and participate in the Makers Economy.

Making MakerPoint (MKP) Payments

To send some MakerPoints(MKP) to an address, enter the amount and a valid Ethereum address for the recipient. As this is running through a Test Network, no real currency will be sent.

Making Proposals

Simply add your Proposal and click 'Submit Proposal' - it's as easy as that!

Voting

Type the relevant ProposalId number into the box, then select For or Against, depending on your stance.

Acknowledgements

Much of our code was either based on or directly referenced the example cases given on the official Ethereum site and Solidity Documentation.

FAQ

What's a Blockchain?

A Blockchain is a distributed database where transactions are recorded and stored accross 1000s of computers (nodes). Bitcoin is an example of a public blockchain that's focus is on financial transactions.

Why did you choose Ethereum?

Ethereum allows developers to deploy turing complete & object oriented languages to the blockchain - this gave us lots of flexibility when designing our currency and voting system. Examples of what other people are building include peer-to-peer energy trading networks, supply-chain integrity and management tools and distributed prediction markets. For more information check out the official Ethereum site.

Useful Resources

Here are some links and resources we found handy when getting our head around blockchain and Ethereum.

Blockchain and Ethereum

Documentation

Troubleshooting

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors