Skip to content

DCore Voting Tool

Unlike older blockchain implementations, such as Bitcoin, DCore uses a technique called Delegated Proof of Stake (DPoS) to achieve 'consensus'6. Unlike the older Proof of Work model used by Bitcoin, DPoS, is faster, less energy intensive and Greener.

Every 24 hours, a fixed number of miners1 (also known as 'witnesses' in other DPoS implementations) are selected from those with the highest number of votes supporting them to create new blocks and validate transactions on the DCore blockchain. They are rewarded for this essential community work by the payment of transaction fees.3.

Every user account with a positive DCT balance can cast votes with the 'weight' of each vote being proportional to the number of DCT they hold. The more DCT you hold, the stronger your vote.

Why voting matters and why you should participate

A public blockchain is only as strong as its user community and through participation in the voting process you strengthen its security, reputation and value. When you have value (DCT) invested in the blockchain, it only makes sense that you protect it by choosing the most reliable and trustworthy members of the community to authenticate the creation of new blocks and transactions.

How to choose miners

There are many ways to choose who to vote for.

Potential and existing miners know that they are most likely to be selected based on their reputation and will endeavour to be active and valuable members of the community. They will work to contribute to its success and will often be known on the various support forums, messaging platforms and, in most cases, will also post a proposal document, linked to from the voting form, for you to read and use to judge their suitability as a miner. You might also find the number of votes already cast for a potential miner to be an indicator of their reputation within the community.

Prerequisites for Voting

In order to vote on the disposition of miners on the DCore blockchain, you will need the following:

  1. An active account and wallet on the DCore blockchain.
  2. A positive DCT balance. You will be charged for every change you make to your votes so you must have sufficient balance to participate2. The size of your balance will determine your 'stake', and thus the weight of your vote.
Signing up for an account on DecentGo

Brief instructions for signing up on DecentGo:

  1. Go to the DecentGo page.
  2. Select 'Sign Up'. If this does not display as an option, it is likely that you already have an account and are logged in. If this is so and you are creating a fresh account, log out and try again.
  3. Enter a valid email address that has not already been used to create a DecentGo account.
  4. Enter a password and then type it again in the second field. This must conform to certain rules that will be displayed if necessary.
  5. Select from the presented options, then click the SIGN UP button.
  6. Wait for the confirmation email that should be sent to the email address you entered in step 3 then follow instructions.
  7. Complete the sign up process, following the on screen instructions.

It is highly recommended that you generate the recovery phrase since this might be the only way to recover your information and credentials if you forget them. Remember, for security, you, and only you, hold this information.

Depending on the authentication method you choose, you will need either:

  1. A JSON Wallet file for holding the account details you wish to vote from, together with that account's password.

  2. The username and associated private key for the account you wish to cast votes from.

See the section titled 'Finding your authentication credentials' for more information.

Finding your authentication credentials

Obtaining a wallet file from DecentGo.

  1. Log into your account on DecentGo.
  2. Click on your account name in the top right hand side of the screen to present the display options.
  3. Select 'Security'.
  4. Click the 'Show' link against credentials. As a security measure, you might need to enter your DecentGo password again.
  5. Your credentials will be displayed followed by a button, EXPORT WALLET.
  6. Click the EXPORT WALLET button then follow the on screen instructions to save the JSON wallet file. Remember where you saved it and the password you chose to encrypt it with since you will need these later.

Obtaining your username and private key with DecentGo.

  1. Log into your account on DecentGo.
  2. Click on your account name in the top right hand side of the screen to present the display options.
  3. Select 'Wallet' to access the wallet addresses.
  4. Copy, exactly as displayed, the 'Encrypted alternate'. Save this to use as the 'username' when authenticating with the Voting Tool.
  5. Select 'Security', either from the top drop down, as in step 2, or from the menu options now displayed on the left of the screen.
  6. Click the 'Show' link against credentials. As a security measure, you might need to enter your DecentGo password again.
  7. Your credentials will be displayed including your 'Private Key'.
  8. Copy your Private Key and keep it safely to use with your encrypted username to authenticate within the Voting Tool.

KEEP YOU PRIVATE KEY SAFE

It is critically important that you keep your Private Key secret.
Never give your Private Key to anyone else
Anyone who has your private key can imitate you and access your funds.

Authenticating with the DCore Voting Tool

Security of your wallet and private keys

Your wallet and private keys never transmitted anywhere and are only ever processed within your web browser.

Accessing the voting tool can be achieved via this link.

If you see a banner mentioning cookies on the top of the window



Because cookies are necessary for the correct operation of this web application, we are required to ask your consent due to recent legislation. Click the Accept & Continue button to continue using the Voting Tool.

If you wish, you can read our cookie policy and privacy policy by following the links provided in the banner.

Once you have accepted this condition, your browser will usually remember the decision unless you have it configured to forget cookies after use.

Using the credentials you obtained from DecentGo (or a similar tool, such as the cli_wallet), you can begin the authentication process by after clicking the Log In button located in the top, right hand corner of the screen.

Screenshot: Initial Screen, before logging in

Note the Log In button located in the top, right hand, corner of the screen.

Click on this to begin the authentication.

Clicking on the Vote now!! button will also begin the authentication process, as will scrolling to the bottom of the screen and clicking the Log In button in the footer.

The Menu Icon ( Vote button ) in the top right corner of the screen provides a link to the DECENT Blockchain Network Explorer tool, which can be used to examine the blockchain itself. Once authenticated, options for Advanced Voting and Logging Out will also appear.


Initial Voting Tool Screen

The previous picture shows the screen for our Staging Server8 which shows a lot of boring, fake, names for miner candidates. You are more likely to see a screen that will be using the 'Main Net' blockchain where the staging server's fake miner names will be replaced with the names of actual miners.

There are two ways of authenticating your identity so you can participate in the voting process:

  1. Using a Wallet File exported from DecentGo, or the CLI Wallet application.
  2. Using your account name, and private key from DecentGo, the CLI Wallet application, or the DCore Desktop application.

When you click the Log In button the authentication form, "How would you like to access voting?" will be displayed in the browser and will offer two methods to authenticate:

Authentication Method 1: Using an encrypted wallet file.

Screenshot: Authentication using wallet file.

  1. From the DCore Voting tool landing page, click the Log In button
  2. When the form titled "How would you like to access voting?" opens, select the "Wallet file (JSON)" radio button (if it is not already selected).
  3. Locate your saved wallet file and its associated password.
  4. Click on the Upload button then locate and select the wallet file you wish to upload. Consult your browser and Operating System documentation if you are unsure how to do this.
  5. Enter the wallet's password into the Password to your JSON file field.
  6. Agree to the Terms of Use5. If you do not agree to the Terms of Use, the Next button will remain inactive and you will be unable to complete authentication.
  7. Click the Next button. If nothing happens, double check that you accepted the "Terms of Use".

Unless an error occurred, you should now be authenticated and able to participate in the voting process.

Authentication Method 2: Using an account name and private key.

Screenshot: Authentication with account name and private key

  1. From the DCore Voting tool landing page, click the Log In button
  2. When the form titled "How would you like to access voting?" opens, select the "Account name + Private key" radio button.
  3. Obtain the account name you wish to use, and its associated Private key.4
  4. Enter the account name into the Account Name field.
  5. Enter the Private Key into the Private Key field.
  6. Agree to the Terms of Use5. If you do not agree to the Terms of Use, the Next button will remain inactive and you will be unable to complete authentication.
  7. Click the Next button. If nothing happens, double check that you accepted the "Terms of Use".

Unless an error occurred, you should now be authenticated and able to participate in the voting process.

If there was an error in the entered account name or private key

Should there be a failure to authenticate, a message, similar to this will be displayed, briefly, towards the bottom of the viewable browser window:

The contents of this message should give you some idea of how to resolve the situation.

Screen Layout and description

Screen Header

Prior to authentication, the screen header shows only the Title, identifying Decent and the DCore Voting Tool together with the blockchain it is connected to and the Log In button used to authenticate users in preparation to checking and changing their votes.

Screenshot: Screen header before authentication

This is the header for the Voting Tool. Note the Log In button and drop-down menu icon located on the right.



Clicking the Log In button will begin the authentication process.

Following Authentication, the header changes to show the user name of the authenticated account, its balance in DCT, and the Log In button disappears.

Screenshot: Screen header after authentication

This is the header for the Voting Tool8. Note the account name, balance (in DCT) and drop-down menu icon to the right of the title.



When the browser window is narrower, the account name and balance can move to positions. For example:



Introductory Information

The header is followed by a brief comment on the value of voter participation on DCore, as well as a link to provide email feedback to Decent.

Prior to user authentication, a green Vote now! button is also displayed which, if clicked, will display the authentication form, "How would you like to access voting?"

Screenshot: Feedback link and 'Vote Now!' button

Below the header, introductory text briefly describes the voting tool's purpose:



Clicking Leave feedback, or ask us a question should open a form in the default email client and can be used to send feedback to the DCore development team. If this does not work, consult you web browser documentation for more information.

The Vote now! button is only displayed before authentication:

Clicking it displays the authentication form, "How would you like to access voting?" and when the screen redraws following authentication, the Vote now! button will no longer be displayed.

Search Box and Vote Status Filter

Specific miner candidates can be displayed using the search box and My votes switch.

Text entered into the search box restricts the list of candidates displayed to only those containing the search text in their account names.

The My votes 'switch' further restricts the list of miner candidates to only those the user currently has registered support for.

These two filters can be used to locate specific miner candidates.

The number of miner candidates the user currently supports is displayed, in brackets, following the My votes 'switch'.

Screenshot: Search Box and My Votes switch

The Search Box and My Votes switch with no filters set:


The Search Box with search value entered, and My Votes switch set:



Using the Search Box

Text entered into the Search Box act as a filter over the names of the miner candidates, displaying only those whose account names include the search string.

For instance, to search for miner candidates with the text '1" in their name, enter the word "1" into the Search Box:


This shows the results of searching for all miner candidates with the text "1" in their account names, and without vote filtering.

In this case, the number after the My Votes switch indicates that the user has voted for only one candidate who matches the search criteria.

Using the My votes switch

The My votes switch acts as a filter on the list of miners.

In the leftmost position, it allows all miners, regardless of whether, or not, the user has cast a vote for them.

In the rightmost position, only miners that the user has cast votes for will be displayed.

Screenshot: Miner Candidate Table with My Votes filter

The miner candidate table with the My Votes switch unset:



Notice that all candidates are listed, regardless of their voting status.

When the switch is moved to the rightmost position, its colour changes to orange, and only miners who the user has cast votes for will be shown:



Here only the miner candidates who the user has currently active votes cast for will be displayed.

Using the Search Box and My votes switch together

Using the Search Box and My votes switch together further restricts the selection of miner candidates.

Combining the previously illustrated examples where the Search Box value is set to "1" and the My votes filter is selected gives the following result:



Miner and Voting table

Each row of this table represents a single miner candidate and provides the option for you to change the status of your support for them, as well as provide information that can help you decide that vote.

Column one is the miner candidate's account name.

Column two (optionally) links to documentation supporting a candidate's case for selection as a miner.

Column three shows the community's support for a miner candidate by the cumulative weight of the DCT stakes bidding in their favour7. This is a good indication of their popularity and reputation.

Finally, the Unvote/Vote switches are available, allowing your vote to be cast, or recalled, for that miner. This switch is green ( Vote button ) when a vote has been assigned to a miner, and grey ( Vote button ) when a vote has been withheld.

Screenshot: The miner and voting table (no filtering applied)


For examples of this table with filtering applied, look at the "Search Box and Vote Status Filter" section, above.

Miners currently selected to sign blocks are indicated with green dots

Note the proposal link next to miner u46f36fcd24...

Miners can try to solicit your support by means of documentation accessible through the 'Proposal Link'.

The ellipsis next to miner u46f36fcd24... indicates that the name has been truncated to fit on the screen.

Casting and recalling votes

Use the search box and My votes switch to help locate specific miner candidates, then change the status of your vote by changine the state of the Unvote/Vote switch to either 'Voted' ( Vote button ) or 'Unvoted' ( Vote button ).

Since casting votes incurs a fee3, you will be asked if you wish to confirm, or revert, these changes by means of a small form that will be displayed at the bottom of your screen.

Screenshot: Voting Confirmation


If the banner at the bottom of the screen is malformed, try widening your screen.

After selecting either Revert Changes or Confirm Changes the user will be prompted to confirm that decision by a pop-up form:

Screenshot: Confirm Changes

Screenshot: Revert Changes

Selecting:

  • Cancel allows you to continue changing your selections.
  • Revert undoes all your changes.
  • Confirm commits your changes, and debits the transaction fee from your
  • account.

Changes to the cost of voting

Unlike some previous versions of the Voting Tool, you are no longer charged multiple transaction fees3 for individual votes, but only charged one transaction fee3 for all the changes made prior to selecting the Confirm changes button.

Insufficient funds to vote

Each time votes are cast, they need to be registered on the blockchain, which means a miner needs to be rewarded for signing the block. This means that the user incurs a nominal fee3.

If there are insufficient funds in the user's account then a message, similar to the following, will be displayed on screen:

Screenshot: Insufficient funds to vote


Advanced Voting

Advanced Voting allows a user to propose changes to the size of the mining pool.

Suggesting changes to the size of the mining pool through Advanced Voting

  1. From an authenticated session, click the Menu Icon ( Vote button ) in the top right corner of the screen.
  2. Select Advanced voting from the drop-down menu.
  3. Enter the proposed number of miners.
  4. Then choose:
    1. Confirm your decision to by selecting the Logout button.
    2. Select Cancel to return to the Voting Tool.
Screenshot: Advanced Voting form


Logout when you are finished

Logging out of the Voting Tool

  1. From an authenticated session, click the Menu Icon ( Vote button ) in the top right corner of the screen.
  2. Select Logout from the drop-down menu.
  3. Then choose:
    1. Confirm your decision to log out by selecting the Logout button in the confirmation form.
    2. Select Cancel to return to the Voting Tool.
Screenshot: Logout confirmation form


When you have finished your session, remember to logout from the Voting tool. Leaving an authenticated session open on an unattended computer or device risks unauthorised access with potential loss of currency and misuse of your account.

Consequently it is important that you secure all sessions and ensure they are terminated at the earliest possible time. This is critically important on a public access terminal.


Frequently Asked Questions

How do I log in?

Follow these instructions to log into the DCore Voting Tool.

How do I log out?

Follow these instructions to log out of the DCore Voting Tool.

How to vote?

First log into the Voting Tool then register your vote by using the search box and My votes switch to help locate specific miner candidates, then set your voting status by changing the position of the Unvote/Vote switch to either 'Voted' ( Vote button ) or 'Unvoted' ( Vote button ).

See Casting and recalling votes for more detailed information.

Why should I vote?

A public blockchain is only as strong as its user community and, through participation in the voting process, you strengthen its security, reputation and value. When you have value (DCT) invested in the blockchain, it only makes sense that you protect it by choosing the most reliable and trustworthy members of the community to authenticate the creation of new blocks and transactions.

What does voting mean for the network?

Voting shows that the network has an active and vigilant community who care about its integrity and reputation.

Who should I vote for?

You should vote for the miners who you believe will best serve the community. Suitable candidates will have shown a commitment to the community and will probably be active on the online forums. Many will also post a proposal link that will be presented next to their names in the list of miners.

How much influence does my vote hold?

The strength, or 'weight' of your vote is directly related to your DCT balance. This value also represents the magnitude of your 'stake' in the blockchain.

When you vote for a miner candidate, the size of your stake aggregates with the stakes of their other supporters to indicate the strength, or weight, of support for them. For instance, if User A, holding 20 DCT, and User B, holding 400 DCT were the only supporters of Miner C, the total weight of support for Miner C would be 420 DCT.

No matter how many candidates you vote for, your stake remains the same for each.

Why, when I try to vote, I am told I need some DCT in order to vote?

If the funds are not sufficient to cover the transaction costs incurred while voting, the user will not be allowed to change their voting choices.

See Insufficient funds to vote for more information.

What is a wallet file?

A wallet file is a small database of account or user credentials on a related blockchain. It stores essential cryptographic information that is used to conduct transactions on the blockchain. It is essential that this be kept secure because anyone with access to the information in your wallet can impersonate you and conduct transactions in your name. This includes spending, or stealing, your currency.

How to create a wallet file?

A wallet file can be created from DecentGo or using the cli_wallet application. See the section Finding your authentication credentials for more information.

Why are no miner candidates displayed?

If, after authenticating with a wallet file, you do not have a table of miner candidates, check that your wallet file was generated on 'Main Net'. In some circumstances, it is possible to authenticate with a wallet file from a DCore blockchain other than 'Main Net' and since the blockchain doesn't find details matching the credentials, no miner candidates can be displayed. If you have been using other DCore implementations, using your own test net, and using cli_wallet, double check the source of the wallet you are using.

What is DPoS?

Delegated Proof of Stake (DPoS) is the consensus6 methodology used by DCore to validate transactions on the blockchain. It involves the use of incentified (ie. paid) actors (the miners) whose good reputation in the community is their path to earning fees.

What is my 'Stake' in the blockchain?

Your 'Stake' in the blockchain is the measure of how much DCT you hold.

The rationale behind DPoS (or PoS in general) is that those with a larger stake in the blockchain should have a proportionally stronger vote because they have more to lose from reputation risk to the blockchain. Consequently they will make a greater effort to engage with the community and select the best and most reliable miners to the benefit of all stake-holders.

How is having voting weight linked to stake 'democratic'?

'Democracy' on the blockchain is linked to tokens rather than the people who hold them. Think of it more as 'One DCT, One Vote' than 'One Person, One Vote' (per candidate - see Do I have to share my voting power between candidates? below).

Do I have to share my voting power between candidates?

No. The power of your vote remains the same for each candidate you support and is representative of your stake in the blockchain. If you have 100 DCT and register support for 20 different candidates, then each one gets a full 100 DCT supporting their bid.

Think of it like electoral systems where you get to select multiple candidates in order of preference. Only the candidate with the highest number of votes is selected, but your vote has less chance of being 'lost' against voters with greater stakes.

This aspect of DCore voting makes it worth casting your vote even if you only hold 1 DCT.

How does DPoS differ from PoW?

A full discussion of the differences is too long for a simple answer but, in short, DPoS is faster, requires less energy and does not require fast or specialised hardware. This means quicker transactions and less impact on the environment while improving both decentralisation and democracy of the network because anyone can be a miner. If you can run DCore, you can operate a mining node without competing in the expensive hardware 'arms race' that now exists with Bitcoin. The only requirement is that your node has good uptime.

What is a Blockchain

A blockchain is a distributed database with a provable, auditable and verifiable record of all transactions that occur. Through a 'consensus' methodology, all copies synchronise changes and maintain identical information.

What is JSON

JSON (JavaScript Object Notation) has two main uses:

  1. to store information from a program so that it can retrieve it again at a later date, or

  2. to communicate information from one program to another, by file or network.

JSON is easy to read and edit by humans, and is also easy to implement in different programming languages which has lead to its popularity. Wikipedia entry on JSON

Because this facility is dependant on how your computer and web browser are configured, we are unable to give much help beyond suggesting you consult the documentation for your web browser and email client, or your local technical support, if available.


  1. This number is currently fixed at 33 but might change in the future. A new feature is being implemented that will also allow voters to suggest a different value (through a vote) as the blockchain evolves. 

  2. Changing votes on the blockchain are transactions that need to be validated and confirmed on the blockchain, requiring a miner (witnesses) to process the transaction for which they will be rewarded with a transaction fee paid by the voter3. At the time of writing, each confirmed change in the status (a 'vote' or 'un-vote') for a miner triggers that charge. A new voting option, which combines all the vote changes in a session as a batch requiring only a single charge3 is under development. 

  3. Currently set at 0.005 DCT 

  4. It is possible for a user to have multiple accounts within a single wallet as well as conceivably having multiple wallets on the blockchain. Of course, every account, in every wallet, has its own set of credentials so that they can be authenticated independently of each other. Be careful to only use a wallet file generated for the blockchain you are using or the results might be unpredictable. 

  5. This link is provided for reference purposes only. Always confirm using Terms of Use link on the Voting Tool itself for a definitive version. 

  6. Blockchain technologies such as DCore work by there being many identical copies of the blockchain existing at the same time. This makes it very hard to have a bad actor change the data maliciously because they would have to change at least 50% of the blockchain copies at the same time. However, this specific characteristic that makes a blockchain secure also makes it hard to determine when a valid change is to be made to all copies. The process by which changes are agreed is referred to, generically, as 'consensus' and simply means that there is a method by which more than 50% of the extant copies of blockchain will agree to each make an identical modification to their data. 

  7. When a users vote for a miner candidate, the amount of DCT they hold (their 'stakes') is summed to indicate the 'weight' of votes in their favour. For instance, if User A, holding 20 DCT, and User B, holding 400 DCT were the only votes for Miner C, the total weight of support for Miner C would be 420 DCT. 

  8. When developing websites, it is usual to have a number of versions for testing. The 'Staging' server is usually the final one before deployment and often uses copies of live data, or securely anonymised data to emulate its deployment and use in the productions server, which is the one the end users will work with. Where there is a risk that taking a screenshot from Main Net will show sensitive information, the documentation will use pictures of the Staging server to avoid infringing on the privacy of our users.