Commit Graph

50 Commits

Author SHA1 Message Date
ChronosX88
7e80654c87
Compare by block timestamp if stake is equal in block selection mechanism 2021-08-02 20:28:44 +03:00
ChronosX88
65afa056bb
FINALLY fix consensus desync issue!!! WOOHOOOOOOOO !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2021-07-30 02:04:27 +03:00
ChronosX88
e8b220455e
Fix sync/race issues in consensus, refactor accepted blocks sorting 2021-07-29 00:48:01 +03:00
ChronosX88
d179ffcd76
Implement consensus state change watching to fix stage race conditions 2021-07-27 02:00:15 +03:00
ChronosX88
5e0c7f02fa
Integrate Uber's Fx DI framework, refactor node init code massively 2021-07-22 00:56:58 +03:00
ChronosX88
550d69fb26
Fix approve count for PREPARE state in consensus 2021-07-20 01:40:49 +03:00
ChronosX88
a6cf757fcf
Implement handler for NewBlock message in SyncManager, refactor block validation architecture 2021-07-19 23:19:06 +03:00
ChronosX88
bb3bf032d5
Update go-libp2p-pex dependency to v1.1.2 2021-07-15 23:55:06 +03:00
ChronosX88
13951d5c32
Implement event bus for cross-communication between Dione components, overhaul logging part 2021-07-15 23:51:22 +03:00
ChronosX88
d7a1e87939
Make blockchain finally working! 2021-07-12 02:23:00 +03:00
ChronosX88
2845a04704
Fix small bugs/mistakes/typos 2021-07-11 03:32:58 +03:00
ChronosX88
956de703e8
Implement submission for dione task from block transaction 2021-07-11 01:07:35 +03:00
ChronosX88
2952983c94
Fix some minor mistakes in various places 2021-06-15 00:45:35 +03:00
ChronosX88
29c38e80b7
Add missing send to ready channel in consensus state when mining new block 2021-06-11 14:43:48 +03:00
ChronosX88
ea9ceaeda9
Implement block validation at PREPREPARE stage 2021-06-11 14:40:39 +03:00
ChronosX88
4e7294e046
Do massive overhaul of consensus part due to new architecture with blockchain, implement chain selection 2021-06-09 00:30:23 +03:00
ChronosX88
025bb9a6d1
Refactor pubsub package again, make it more flexible 2021-06-04 00:15:32 +03:00
ChronosX88
0695d23866
Refactor pubsub package 2021-06-03 00:19:52 +03:00
ChronosX88
7e3fca5de5
Refactor cache package to be more general purpose component 2021-05-13 14:49:38 +03:00
ChronosX88
90d1e6d2ad
Fix unnecessary rebroadcast of received consensus message 2021-04-30 23:09:55 +03:00
ChronosX88
ae9c21baaf
Refactor and cleanup consensus code architecture 2021-04-30 22:55:12 +03:00
ChronosX88
c74ec4db26
Remove callback address/method id from NewOracleRequest event properties 2021-04-27 01:01:04 +03:00
ChronosX88
708c0559c7
Fix NPE when receiving commit message of unknown consensus 2021-04-21 22:37:32 +03:00
ChronosX88
f0ecad1cbf
Reduce params count for submission in DioneOracle contract, fix small stupid bugs in dione 2021-04-19 22:46:17 +03:00
ChronosX88
1b5f9a0d30
Fix some consensus code which was broken by refactoring 2021-04-16 00:01:27 +03:00
ChronosX88
35e7994da7
Implement basic version of dispute manager, slightly refactor consensus package 2021-03-15 23:39:52 +03:00
ChronosX88
3f0063219f
Integrate DioneOracle contract, cherry-pick event cache implementation from master branch 2021-03-05 22:29:09 +03:00
ChronosX88
b4f5f3fb7d
Add RWMutex to all consensus messages pools to prevent concurrent access to internal data in map 2020-12-07 20:01:10 +04:00
ChronosX88
2278277f76
Fix cbor marshalling/unmarshalling pubsub message (invalid UTF8 string), partly fix gossipsub (sadly, bootstrap node still doesn't see other messages in network) 2020-12-04 22:30:03 +04:00
ChronosX88
221cf45dad
Implement request event validation from cache 2020-12-02 17:42:02 +04:00
ChronosX88
003f49174b
Implement full task validation (signatures/vrfs/wincount/etc.) 2020-11-27 20:16:08 +04:00
ChronosX88
b2e956d1d4
Fix issue with consensus payload signature and slightly fix pre_prepare consensus code handling 2020-11-21 01:29:30 +04:00
ChronosX88
d38bc81dcf
Make cbor message encoding for consensus message model, slightly refactor pubsub part 2020-11-18 23:53:52 +04:00
ChronosX88
15190a5b8a
Rewrite consensus part 2020-11-15 17:46:58 +04:00
bahadylbekov
2526f65825 add: fixed ed25519 cryptography, added ethereum subscription, solana client integration into node, miner and consensus changes 2020-11-15 08:59:46 +03:00
ChronosX88
90e38e73a8
Add some docs of task validation process in consensus 2020-11-14 14:33:10 +04:00
ChronosX88
5a730b9493
Add setting up beacon, wallet, miner subsystem in node's setupNode 2020-11-14 04:32:50 +04:00
ChronosX88
0b37896af9
Add Type field to DioneTask, rename rpcclient to ethclient, rewrite whole signing system in Dione, add some comments to consensus process (w/ mining system) 2020-11-12 18:18:30 +04:00
ChronosX88
6636a279e7
Refactor node unit test code, make it passable 2020-11-04 22:17:01 +04:00
ChronosX88
97a4e7a7ad
Add saving consensus result and make dropping commit messages which related to finished consensus 2020-10-22 18:37:31 +04:00
ChronosX88
ed675a6b75
Add specifying consensusID when starting test consensus 2020-10-22 02:05:12 +04:00
ChronosX88
2b8a44f071
Fix consensus state when received valid commit message 2020-10-22 01:05:46 +04:00
ChronosX88
14240186bf
Change logger library to logrus 2020-10-22 00:36:05 +04:00
ChronosX88
5f1f11d099
Implement PBFT Consensus manager and rename the current module 2020-10-21 23:54:40 +04:00
ChronosX88
a1db429717
Do massive refactor - remove unneccessary stuff, refactor Node, rewrite EtheriumClient, implement PubSubRouter 2020-10-20 22:18:36 +04:00
bahadylbekov
ab2f8639c4 add: integrate raft consensus layer, ethereum and filecoin rpc into node 2020-08-07 05:42:09 +03:00
bahadylbekov
a70a79efa9 add: aggregator smart contract integration for ethereum rpc 2020-08-06 21:48:57 +03:00
bahadylbekov
8dab98a587 fix: rename MakeConsensus function 2020-08-05 20:25:33 +03:00
bahadylbekov
81d6ce0c46 add: external function for update consensus value 2020-08-05 20:23:42 +03:00
bahadylbekov
b6e174b830 add: raft consensus library and basic logic of consensus operations in p2p network 2020-08-05 20:11:14 +03:00