MINING Witnessing blocks for Decent
Decent is a network for publishing content and runs on the Graphene based software. Graphene has many advantages, such as very low blocktimes which result in nearly instantantious transfers and high TX throughput.
Graphene software is based on the DPOS model and not on the Proof-of-Work model. There is NO need for heavy computing power to calculate algorithms to find solutions and create new blocks and get rewarded.
It is not a environmental unfriendly game of 'who has the biggest CPU/GPU'.
Instead it is about having stability through active
miners witnesses who run copies of the ./decentd software on their dedicated servers and make sure transactions on the network are pushed in blocks and verified and signed off and pushed into the chain.
Therefore the wording MINER is badly chosen by the DECENT Foundation (imho) for this task.
- Mining, historically implies that you 'come & go'. You go to the mine, or you kickstart your GPU/CPU mining rig whenever you feel like 'mining some BTC / ETH'. This is not the case with Graphene chains. There is no 'search for solutions to complex mathematical calculations'. Block producers sign off blocks and push them to the network.
- Instead with Graphene a list of 'voted in / active' 24/7 - RELIABLE
minerswitnesses are responsible for securing the Decent network and making sure that transactions are added to blocks and the blocks pushed into the chain. This 'active list of minerswitnesses' is compiled on every 'MAINTENANCE_INTERVAL' which is currently set at every 24hours. At 00:00 (midnight) UTC if I am not mistaken. Then, votes are recalculated and the 'active_witnesses list' is being shuffled.
To become a
miner witness for Decent you must understand the following:
- You must be reliable: This is not a 'come & go' job. If you are voted in the 'active
minerswitnesses list' your server will get a block to produce / validate / sign every minute or so. If you have not setup your software correct, you will miss the block and keep missing blocks until you have figured it out. If you miss blocks, the transactions which are waiting to be added to the blockchain will be moved to the next block & block producer. If many active minerswitnesses are missing blocks, the network could even stop.... It's hardcoded that if only 33% are validating blocks it will stop.
- Your server must run 24/7: See point 1.
- Your server must run on a good infrastructure in a professional hosting environment: See point 1.
Remember this is not a case of 'who has the biggest CPU/GPU' but there should be a healthy competition of who has the least 'missed blocks'
If you have DCT in account you can vote for
miners witnesses to influence the 'active miners witnesses list' at the next MAINTENANCE_INTERVAL and beyond.
PLEASE VOTE RESPONSIBLY Do your research and not randomly start voting for miners you don't know or who are missing blocks constantly. If too many non producing
miners witnesses are voted in, the network will simply halt.
Please setup your
miner witness with an identifiable username so don't use the default DECENT foundation encryped u1234123XXXX formed username.
Steps involved in setting up a
1. Setting up a server and securing it:
- Setup a server (16.04 LTS 2 recommended) on a dedicated hosting environment (32 GB ram+ recommended futureproof) (IAW NOT AT HOME).
- Secure your server: No root login, no password login, install UFW, and fail2ban and such.
- Manually install the DECENTD node software as instructed here: https://github.com/DECENTfoundation/DECENT-Network
2: Perform all cli_wallet actions (need help? use the function
- Import your Decent account with the weird name with
import_keyand make sure it is funded with some DCT.
- Setup an identifiable username for your
suggest_brain_keytwice to get new pub/private keypairs for both the
- Fund the newly created account from your original decent account with
- Upgrade your newly identifiable username account to become a
create_miner. Be sure to add a url where we can read more about your intentions of being a 24/7 reliable
minerwitness for DECENT. This will return a result with 'signing key' as well as your
miner-id(starts with 1.4. !!! NOT 1.2. !!!)
- Update your config.ini for the ./decentd software: Go to /home/LINUXUSER/.decent/data/config.ini
- Update/Add/Uncomment the
miner-id="1.4.XX"(note! starts with 1.4. not 1.2.) with your mining-id retrievable via
- Update/Add/Uncomment the
private-key=["DCTPUBLIC","PRIVATEKEY"]with your SIGNING PUBLIC KEY, PRIVATE KEY pair in the correct order Get your Public Key retrievable via
get_minerand seeing the 'signing key'-value. Then get your private key corresponding to that public signing key via
- Double check that you are absolutely sure you have setup config.ini correctly with
miner-id=1.4.XX(not 1.2.XX !!) and have the correct order and keypair for
- Restart your
./decentdsoftware in a dedicated
screensession on your 24/7 reliable dedicated server. In the startup on your
screensession you should see it listing some details about your configged miner
- Announce your intentions on #mining on slack
Vote for my
miner witness via:
vote_for_miner YOURACCOUNTNAME roelandp true true