Skip to content

A PoC cryptocurrency with a PoC blockchain and consensus protocol; whitepaper on the way.

License

Notifications You must be signed in to change notification settings

wisepythagoras/dimoschain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo of the Dimos project

Dimos

Dimos (dee-mos, Δήμος: municipality, citizens) is a cryptocurrency based on a Proof-of-Randomized-Delegation consensus algorithm.

The purpose of this cryptocurrency is to demonstrate that cryptocurrencies don't have to be profitable only for those who have the capital to invest in mining equipment or in units of crypto to stake. In the same way, it eliminates the need to maintain power-hungry miners (including ASIC) and creates a more egalitarian financial platform with fast transaction times.

The whitepaper is on its way.

Getting Started

Install for development

Step 1: Install Themis

Install Themis following the installation guide

Step 2: Download dependencies

Make sure that you have Go 1.14 installed then download the dependencies:

make download-deps

Step 3: Build package

Now you can build the package:

make all

Test blockchain

Now you can create the blockchain by initializing it.

./bin/create-genesis

This should output something like this:

badger 2019/03/21 11:41:01 INFO: All 0 tables opened in 0s
2019/03/21 11:41:01 Merkle Root: 97035fc67b851a86956f619f28c8ec7fce3b65e02a53ea175e4b7050ada4b2d4f7e53c34734321d59655a6647512ff91 <nil>
2019/03/21 11:41:01 Genesis Hash: 8283d0e96d642cc2d390889097c98e2bf9b6bf249a0d1374810e240425e0fd0494def1da5f3cc9020a11afac6a3c92fe <nil>
2019/03/21 11:41:01 Created genesis

Now you can run the ./bin/dimos-get-block script and pass the genesis hash to it or just add the flag -current:

Usage of ./bin/dimos-get-block:
  -current
        Get the current block
  -hash string
        The hash of the block

Once you create a few blocks with ./bin/test-block you can check the validity of the blockchain by running the following command:

./bin/dimos-check-validity

This will go through all of your blocks and verify them.

Warning

This software is far from complete and improved every day.