Block mining NOTE!!! THE BEING BLOCK HAS INDEX = 1, THE SAME AS THE ONE FOLLOWING IT. SO IN THIS BLOCKCHAIN THERE ARE TWO BLOCKS WITH IDENTICAL INDICES, BUT WITH DIFFERENT CONTENT. THIS IS ABSOLUTELY NORMAL AND THIS IS THE FEATURE OF THIS BLOCKCHAIN. A unique mining system is implemented here, which stimulates a smooth increase in the value of the coin, preventing it from falling much with the onset of winter and is resistant to strong volatility, but at the same time the value increases. For mine, you need to go to localhost:8082/, multithreading is automatically turned on there and the number of threads is automatically turned on. Then go back to the menu in the top right corner and click on “Get Locked”, click on the “Start” button and then click on “International Union Corporation”, in the information window you should see “Is Mining Proper”. the update is also correct, which means that the system is loading the blockchain. Nothing will be displayed in the console, because if we display information there, mining will slow down six times for single-threaded and multi-threaded mining. If you want to turn off mining, click the “Stop” button twice, then click on the Corporation Intertation Union inscription, if everything stopped correctly, the information window will disappear. Under no circumstances should you interrupt the mining process by disabling the command line during mining or updating, as at this point the Blockchain and balance will be overwritten. When the information window goes out, mining will stop. A block is valid if the hash matches the target value according to this formula
In the get a block tab (http://localhost:8082/mining) you can make staking or withdraw money from staking. By filling in all fields. NOTE: IMPORTANT!!!!!! IF YOU CALL http://localhost:8082/testCalculate in the console you will see a list of accounts, and the balance there is different. Be sure to report this to the server owner, since the balance either on your wallet or on the server is not displayed correctly and he will not be able to send money. look at the picture. If the server owner has discovered this problem, then he should update the resources folder and you don’t have to worry, if the problem is with the server, all the owners are exceptional professionals and know their stuff. P.S. (At the moment, in addition to the founder, you can also contact @suprtrupr and @caspar2114 on discord, since they are one of the best in these matters and can help you when I don’t have time.)
In this system, the block with the most big random wins. Big random is a number that is formed from three components. 1. Difficulty 2. Random number 3. staking up to index 247867, each difficulty level gave 9 points. difficult * 9. after 247867 each difficulty level gives 55 points. Difficult * 55. up to index 247867 hash as a seed could give a number from 0 to 55. after 247867 hash as a seed, it gives a number from 0 to 135. up to index 247867, initial staking cost 1 coin, first point. After the index 247867, initial staking costs 10 coins, the first point. Now in more detail: this is the formula by which a single score is calculated. int result = deterministicRandom.nextInt(limit); result = (int) ((int) (result + (actual.getHashCompexity() * waight)) + calculateScore(miner.getDigitalStakingBalance(), number) 1. Difficulty. Each participant can choose the difficulty from 17 to 100. Each block has a hash, where the sum of the ones in bits must be equal to or lower than the target. The goal is calculated as 100 - difficulty (100 minus difficulty.). Each difficulty level gives 55 points. That is, if you set the difficulty to 20, then the difficulty points will be equal to 20 * 55 = 1100. 2. Random number. The hash of the block becomes the seed to generate a random number from 0 to 135. 3. Staking. Each subsequent point costs twice as much and is calculated using this formula: public static long calculateScore(double x, double x0) { if (x <= 0) { return 0; } double score = Math.ceil(Math.log(x / x0) / Math.log(2)); return Math.min(400, (long) score); } but this number cannot be more than 400. All points from the three parameters are summed up. Each node (server) selects one block with the highest number of points every 100 seconds. Afterwards, each node contacts random 7 nodes and compares the total big random (of all blocks of a given blockchain) of your blockchain and the blockchain of another node. If on another node the total big random is greater than on yours + the complexity of the last block, then your server will delete blocks up to the intersection point, and will add blocks of this node. The difference between blocks must be at least 100 seconds. The mining reward is calculated using the formula (5+coefficient + (difficulty * 0.2)) * multiplier. Where the multiplier is 29, but decreases by one each year until it reaches 1. The multiplier can be 0 or 3; For it to become equal to 3, two conditions must be met. 1. The sum of all transactions in the current block must be greater than in the previous block, excluding the founder's reward and the miner's reward. 2. The number of different senders in this block must be greater than in the previous block, not counting the base address from which the reward is sent to the founder and miner. http://194.87.236.238:82/allwinners this URL shows the last winner on this node, but does not show the winner if it was taken from another server and to see the last final winner you need /prevBlock IMPORTANT!!! The founder's reward from each block is equal to 10% of the miner's reward. This is necessary so that we can finance development. But these coins are created additionally, that is, they are not taken from the miner, but additional coins are created. account founder nNifuwmFZr7fnV1zvmpiyQDV5z7ETWvqR6GSeqeHTY43 P.S. (before this index 187200, the reward was also different and the details are Mining and UtilsUse).be sure, if you use your own server, you can configure your wallet on your server by going to the settings and writing your server there, without the slash at the end.
Story: a special block was created on index 24281, with the help of which we created 12,000,000 coins and these coins were given to the participants, since the blockchain was broken by an attack in 40 days and with the help of this address jPjuyLStHTCzwYt9J7R5M7pGUKshfcmEbtE3zVvCBE52 this money was returned to all participants who lost their coins. The bug in the code that allowed this attack was also finally fixed, and now the system is completely safe. Story: Starting from the index int V34_NEW_ALGO = 187200, the difficulty is selected by participants from 17 to 100. Before this index, the complexity algorithm changed and its details are in the UtilsBlock class method difficulty. Before this index, the mining algorithm also changed. Before index 151940, the mining algorithm was also different and the details are in the Block class as well as in related classes, UtilsUse.
friends, starting from index 295316 and from index 296583 the mining reward has been increased, as the minimum sending amount is now 0.01 coin. Here is the new formula if (index > Seting.ALGORITM_MINING ) { moneyFromDif = (difficulty - DIFFICULT_MONEY) / 2; moneyFromDif = moneyFromDif > 0 ? moneyFromDif : 0; } minerRewards = (Seting.V28_REWARD + G + (difficulty * Seting.V34_MINING_REWARD) + moneyFromDif) * money; if(index > ALGORITM_MINING_2){ minerRewards += moneyFromDif * (MULT + G); digitalReputationForMiner += moneyFromDif * (MULT + G); } V28_REWARD = 5. G = 3 if the number and amount of transactions of the current block relative to the previous block is higher, then it is equal to 3, otherwise zero. G is the coefficient. difficulty - the difficulty of the block, DIFFICULT_MONEY - 22. V34_MINING_REWARD - 0.2. money - the multiplier is 29, but decreases by 1 every year, but not lower than 1. MULT - is equal to 6. These changes are made to compensate for the high complexity, as well as to stabilize the rate, which will give our coin a rate of 10 dollars or higher.
Friends, the latest versions work stably and display the balance stably, but we noticed that some abuse points for the number of transactions, and create transaction spam using a script to get more points. Since the number of transactions does not play on mining in any way, and hashing has the same speed in any case, now big random points from transactions will be accrued from the total amount, similarly if this money was in your staking. Thus, it is not the number that plays more, but the total amount, but the calculation of the coefficient remains the same, where both the number and the amount are taken into account. The maximum number of points from transactions you can get int diffLimit = (int) (actual.getHashCompexity() - 19); diffLimit = diffLimit >= 0 ? diffLimit : 0; // New formula for the maximum number of points for transactions double maxTransactionPoints = diffLimit * 3 + mineScore; where mineScore is the minescore you have in staking, and you can't get more points than here. Download wallet 0.32.127, and server 0.0.298. new rules will come into effect from block index 299845
starting with index 286892 each difficulty level gives 25 points, staking, the first point costs 1 coin, each subsequent point in staking requires twice as much, that is, for three points you need to have 8 coins in staking. Also randomness goes from 0 to 150, where seed is your hash block. The first point requires 1.01, in staking, the second point, 2.01, the third point 4.01, the fourth point, 8.01.
Your staking:
Your calculated score: 0