Commit Graph

47 Commits

Author SHA1 Message Date
Revertron 161e600290 Added blockchain full check on start. Fixed cond_var blocking. 2021-04-20 18:46:06 +02:00
Revertron 04ef49764a Optimized signing blocks scheduler. 2021-04-19 21:19:00 +02:00
Revertron 2680a7da70 Fixed consensus error. Added a delay before signing. 2021-04-19 21:00:32 +02:00
Revertron dd558464a5 Fixed ability to stop mining if we are waiting for signing blocks in miner. 2021-04-18 18:05:33 +02:00
Revertron 214ef69927 More fixes for signing blocks. 2021-04-18 16:55:10 +02:00
Revertron 6c3135d1e3 Updated consensus code. 2021-04-14 14:09:41 +02:00
Revertron 536515519a Refactored the work with signing blocks. 2021-04-13 18:49:26 +02:00
Revertron 04189f319a Added target difficulty to statusbar. 2021-04-10 17:59:17 +02:00
Revertron 3900790f03 Returned low thread priorty as it seems after thorough tests that there is an impact afterall. But this functionality is now controlled by option 'mining.lower'. 2021-04-10 14:03:52 +02:00
Revertron a74a0733ac Changed identity format in transactions, now it will be double Sha256.
Added new checks for forked blocks.
Added options table.
Added posibility to replace blocks in DB by more appropriate forks.
Divided transactions table to domains and zones tables.
Added a timestamp to domains and zones table, it will give us possibility to purge old domains.
Changed difficulty check to check head and tail (sum of them) of the hash.
Added encrypted (by Chacha20) domain name to DomainData, added contacts and owners vectors for it too.
Added yggdrasil flag to ZoneData - it will restrict all IPs for domains in particular zone to Yggdrasil only.
Changed difficulties of various block types.
Added a temporary (for a run) unique ID to all handshakes.
Start of signing blocks mining will be after 60 seconds after full block.
Added mining status to statusbar.
2021-04-10 09:47:21 +02:00
Revertron 6dae3e41c0 Changed log levels to make alfis less chatty. 2021-04-03 18:29:41 +02:00
Revertron 4e0b0b3d1c Added mining threads count option. 2021-03-29 11:10:48 +02:00
Revertron fc90706213 Added success notifications from miner. 2021-03-25 20:55:09 +01:00
Revertron f5949e6ec0 Reworked handling appropriate (mined) keys absence. Now that info handled in UI as well. It won't allow users without keys to mine domains or zones. 2021-03-23 18:55:11 +01:00
Revertron 046c06beeb First signed block number changed to 35 to be able to get more signers.
Refactored cloning of Arcs.
2021-03-23 11:41:50 +01:00
Revertron c5204aaed1 Refactored a lot of cryptography. Moved from "rust-crypto" to https://github.com/RustCrypto 2021-03-22 19:20:51 +01:00
Revertron 0d719324a9 Removed setting mining threads priority, as it seems that it has no effect.
Changed monitoring for chain changes in miner to support MIPS architecture (needs testing).
2021-03-21 14:34:32 +01:00
Revertron 0b5f5d0793 Implemented purging old disconnected peers. 2021-03-21 01:31:33 +01:00
Revertron decb430d82 Small fix in miner. 2021-03-19 14:25:11 +01:00
Revertron 278f7a8c34 Fixed an important TODO. 2021-03-17 18:35:02 +01:00
Revertron 1d9833db0f Implemented right way to constrain zone difficulty. 2021-03-17 14:55:05 +01:00
Revertron d8ac1e3c32 Fixed wait for signing mode in miner. 2021-03-17 10:22:34 +01:00
Revertron a06390009e Fixed small bug and test. 2021-03-16 21:59:51 +01:00
Revertron 99eabff874 Refactored setup of mining threads. 2021-03-16 20:54:44 +01:00
Revertron f4bab8a091 Fixed MacOS build. 2021-03-16 20:22:35 +01:00
Revertron 96ec25c0d0 Added a decent reaction to a new block in chain in mining process. 2021-03-16 18:16:31 +01:00
Revertron b39f5fa7f0 Added restriction by public key, made some refactoring. 2021-03-12 01:36:54 +01:00
Revertron 5d57473122 Major refactoring. Changed mining algorithm to Blakeout. Changed keypair mining algorithm. 2021-03-10 22:21:50 +01:00
Revertron dddc540484 Fixed MacOS build. 2021-03-07 00:17:03 +01:00
Revertron c5d20d2e00 Made all mining threads low-priority. 2021-03-06 21:56:54 +01:00
Revertron b0e78edb3d Changed origin block index to 1. Added "locker" blocks - mining, exchange etc. Removed unnecesarry creation of 'zones' directory on startup. Changed bind port of DNS-UDP socket to random (fixes inability to start several copies of Alfis). Sped up block exchange by sending additional pings when we have more blocks than other peers. Fixed unnecesarry double requests of blocks. Totally reworked block checking on arrival. Added target tags for logging in main. Added a commandline flag to list all blocks in DB and exit. 2021-03-06 21:28:06 +01:00
Revertron 92ebefce91 Changed and refactored block and transaction structures. Moved signature from transaction scope to block. 2021-03-02 18:11:17 +01:00
Revertron 1045777ee5 Finished the work on status bar. All status information is in sync now. 2021-02-28 22:17:03 +01:00
Revertron 193275da7f Implemented rotating DNS upstreams from config. Fixed warnings. 2021-02-21 21:56:56 +01:00
Revertron 93d688c479 Added a decent logging. 2021-02-20 16:28:10 +01:00
Revertron d135204af7 Implemented DNS on blockchain. Beautified a lot of code, fixed some things. 2021-02-19 16:41:43 +01:00
Revertron 1ec02381e8 Moved mining indicator to left-bottom corner, fixed mining canceling. 2021-02-17 13:06:24 +01:00
Revertron f28bedb8a1 Fixed panic when you try to mine genesis with existing origin hash in config. 2021-02-17 12:35:26 +01:00
Revertron 364a969a53 Refactored key-management a lot. 2021-02-15 23:09:30 +01:00
Revertron abb2455d1c Implemented block adding check. Cleared many warnings, cleaned code. 2021-02-14 18:20:30 +01:00
Revertron 1331f44b0e Refactored block and transaction structure. Introduced a 'confirmation' entity to avoid block interceptions (at least make them pointless). 2021-02-13 23:37:44 +01:00
Revertron 9e7a1b8834 Implemented P2P network protocol. Refactored project structure. 2021-02-05 22:24:28 +01:00
Revertron 562c004b0d Implemented and added usage of eventbus. Added a lot of UI interaction. Added a lot of DB work. 2021-01-30 14:18:37 +01:00
Revertron 9e6a01847e Changed chain id to chain name (it will be a string). Implemented saving blockchain to sqlite DB. 2021-01-20 19:23:41 +01:00
Revertron 70b3a833b9 Implemented loading Settings from file. Implemented mining of Keystore (key pair). Changed Transaction structure a lot. Added an icon to windows build. Changed some HTML. 2021-01-18 00:18:35 +01:00
Revertron 4703ae6f49 Implemented multi-threaded CPU-miner. 2021-01-14 18:34:43 +01:00
Revertron 01f37cc238 Made a full refactoring of synchronization primitives between settings, keystore, blockchain and miner. 2020-04-18 21:31:40 +02:00