Commit Graph

66 Commits

Author SHA1 Message Date
Revertron 410bc9b7e4 Fixed signers' calculation loop. Fixed block checks. Added trace logging level. Updated dependencies. 2022-05-12 14:50:31 +02:00
Revertron 797584c516 Fixed multiple clippy warnings. 2021-12-25 18:40:36 +01:00
Revertron d513c29cfe Code reformatting. 2021-06-09 20:36:36 +02:00
Revertron 319051edbd Implemented P2P traffic encryption.
Changed serialization format of P2P messages.
Refactored P2P network code.
2021-05-30 00:33:13 +02:00
Revertron 8a8c2678ae Small UI and log polishing. 2021-05-24 17:36:07 +02:00
Revertron 31ba599662 Implemented support for multiple keys. 2021-05-14 14:14:45 +02:00
Revertron 6dceac8612 Code rearrangement. 2021-05-13 20:24:04 +02:00
Revertron 92222dd51b Refactored event bus to lazy_static. 2021-05-10 00:49:01 +02:00
Revertron bc6d2fbae3 Added second keypair for encryption of domain names.
Changed keys file format to include second pair of keys, it will be in TOML now.
Made many adjustments to block and transaction structures.
Changed block serialization to binary format for hashing/mining.
Removed old build dependencies.
2021-05-04 16:47:03 +02:00
Revertron 9949d13e62 First commit of 0.5.* branch. 2021-05-02 12:55:51 +02:00
Revertron a01cbf14db Added a log message fro good block mined. 2021-04-27 19:07:31 +02:00
Revertron fcb920e0de Refactored Chain a lot to make it possible to test.
Added a CPU hard test for Chain, checking all current DB.
Added an option to config file to set a count of checked top blocks on start.
2021-04-26 21:49:01 +02:00
Revertron 5677b860e4 A fix for miner stuck after dropped signing. 2021-04-26 01:16:34 +02:00
Revertron 6c5e374408 Fixes for previous release. 2021-04-24 23:32:08 +02:00
Revertron d95fb82067 Miner queue refactoring. 2021-04-24 22:19:44 +02:00
Revertron 520f485899 Optimized p2p connections.
Added a limit for 10 active connections to save bandwidth and CPU.
2021-04-23 13:20:26 +02:00
Revertron 0d944ca1dc Fixed a problem with allowed mining while waiting for signers.
Sped up initial blocks downloading.
Changed block consensus a bit.
2021-04-23 01:09:38 +02:00
Revertron 46226f8dc6 Refactored and optimized signings. 2021-04-21 16:51:51 +02:00
Revertron 5c1c0630a6 Improved signing blocks operations. 2021-04-20 20:54:45 +02:00
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