Commit Graph

331 Commits

Author SHA1 Message Date
whyrusleeping
d57f048c2c reject blocks with nil signatures 2019-11-20 11:14:08 -06:00
whyrusleeping
c4564c0597 use proper round number, allow block signature to be nil 2019-11-20 10:54:10 -06:00
whyrusleeping
f8eabd3db4 Refactor mining logic to match specs ticket chain 2019-11-20 10:52:36 -06:00
Łukasz Magiera
4ee2fc4d9f chain: call unsub in Incoming* methods 2019-11-20 17:47:44 +01:00
Łukasz Magiera
d3b980ef58 api.SyncIncomingBlocks 2019-11-20 17:47:44 +01:00
Łukasz Magiera
35659af84d
Merge pull request #626 from filecoin-project/feat/chain-sync-manager
Implement chain sync manager
2019-11-19 22:35:19 +01:00
Jakub Sztandera
6dafca7aac
Use local type as ctx key
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-11-19 14:38:05 -06:00
whyrusleeping
b77bb9e4aa Audit pass for blatantly wrong panics 2019-11-16 17:41:14 -06:00
whyrusleeping
89fd13de9d clean up chain sync a little 2019-11-15 22:48:42 -08:00
whyrusleeping
251ff41134 plumb through new sync status logic 2019-11-15 17:05:16 -08:00
whyrusleeping
7aa76d21d1 It works! 2019-11-15 13:35:29 -08:00
whyrusleeping
1d81c53f8f getting closer, squashme 2019-11-14 22:15:31 -08:00
whyrusleeping
9e4b3ae88a WIP: implement chain sync manager and concurrent sync 2019-11-14 22:15:30 -08:00
whyrusleeping
797d92b463 persist blocks as they come in 2019-11-14 19:19:16 -08:00
Łukasz Magiera
b9bd3e2030 Unhack TestStorageMarketCreateAndSlashMiner 2019-11-14 21:26:30 +01:00
Łukasz Magiera
e9631601e3 Fix the rest of power slashing issues 2019-11-14 17:23:22 +01:00
Łukasz Magiera
05f157554f actors: IsMiner -> IsValidMiner 2019-11-14 00:00:11 +01:00
Łukasz Magiera
77667d78ff
Merge pull request #586 from filecoin-project/feat/more-tracing-again
more tracing spans
2019-11-13 11:42:36 +01:00
whyrusleeping
b14426f7d3 track number of tickets 2019-11-12 12:52:40 -08:00
Łukasz Magiera
2d8ad4a1de sync: batching PersistHeaders 2019-11-12 11:18:46 +01:00
Łukasz Magiera
a6135b62ce sync: Mark chains with bad blocks as bad too 2019-11-12 11:04:17 +01:00
Łukasz Magiera
b72463e6fc mod tidy 2019-11-11 21:12:06 +01:00
Łukasz Magiera
eaddb8abe8 sync: use muliterror in ValidateBlock 2019-11-11 20:30:49 +01:00
Łukasz Magiera
d9fe9a6ea4 sync: Post merge fixes 2019-11-11 20:26:14 +01:00
Łukasz Magiera
6fe5921bb6 Merge remote-tracking branch 'origin/master' into feat/async-validateblk 2019-11-11 18:44:45 +01:00
whyrusleeping
dbc706b846 handle marking blocks as bad better 2019-11-10 15:06:06 -08:00
whyrusleeping
904fdad4c6 extract blocksync into its own package 2019-11-09 15:00:22 -08:00
whyrusleeping
bda6d7e119 Don't try syncing to a chain if its not clearly heavier 2019-11-09 12:14:40 -08:00
Łukasz Magiera
27485777f0 Merge remote-tracking branch 'origin/master' into feat/interactive-porep 2019-11-08 21:45:06 +01:00
whyrusleeping
af2789c3d8 fix non-deterministic map serialization 2019-11-07 14:55:24 -08:00
Łukasz Magiera
29778cd653 Mostly fix TestDealFlow 2019-11-07 01:18:06 +01:00
Jakub Sztandera
b3fe304d82
add is permanent
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-11-06 20:27:21 +01:00
Jakub Sztandera
2b57fd14f1
Fix temporal problems in bad block cache
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-11-06 16:11:19 +01:00
Łukasz Magiera
237f8e8018 Set proving params matching the spec more closely 2019-10-28 17:51:45 +01:00
Łukasz Magiera
fabd074165 on chain deals: Deals make it to the chain 2019-10-23 19:39:14 +02:00
Łukasz Magiera
187317a004 sync: Do some things in parallel in ValidateBlock 2019-10-23 16:45:03 +02:00
Łukasz Magiera
c41dd4efeb actora: register storagemarket 2019-10-23 12:44:00 +02:00
whyrusleeping
46985246a2 use blocks we have locally anytime we need them 2019-10-23 16:18:07 +08:00
Jakub Sztandera
1bf713cb0a
Cleanup imports after rename
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-10-18 13:47:41 +09:00
whyrusleeping
7464cb5803 Now! Thats what I call tracing! Vol 4 2019-10-17 09:51:13 +09:00
whyrusleeping
ab6ef85b6d More tracing! 2019-10-16 19:24:33 +09:00
Łukasz Magiera
29f26cb8d1 Compiling with the new weight func 2019-10-15 14:31:34 +02:00
Łukasz Magiera
a576b72364 actors: Sync with the new spec, storage actors 2019-10-15 14:31:34 +02:00
whyrusleeping
aa644fcbbb call sync directly during submitblock 2019-10-15 21:19:10 +09:00
whyrusleeping
7c26e3c35f WIP: ensure blocks make it into repo before pushing to pubsub 2019-10-14 23:21:37 +09:00
whyrusleeping
62057a8929 reject messages with bad 'To' addresses 2019-10-14 12:28:19 +09:00
Jakub Sztandera
68db93b62e
More if not needed
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-10-13 03:08:05 +02:00
whyrusleeping
45737f8a51
add more tracing spans
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-10-13 03:07:55 +02:00
whyrusleeping
7eefa4e577 use faster bls code 2019-10-11 12:26:54 +09:00
Łukasz Magiera
79f10078ae
Merge pull request #325 from filecoin-project/feat/logs-elk
Integrate log collection
2019-10-11 04:52:26 +02:00
whyrusleeping
52fd55a379 import order 2019-10-11 11:17:24 +09:00
Jakub Sztandera
49e3fe39f8
Structure logs
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-10-11 02:00:04 +02:00
whyrusleeping
3f342d7ae2 add some more tracing to chain sync 2019-10-10 20:13:26 +09:00
Łukasz Magiera
f8ccbe92c1
Merge pull request #319 from filecoin-project/fix/bad-expansion
don't add bad blocks to tipsetcache
2019-10-10 05:50:03 +02:00
Whyrusleeping
b964a8d3c0
Update chain/sync.go
Co-Authored-By: Łukasz Magiera <magik6k@users.noreply.github.com>
2019-10-10 12:37:29 +09:00
whyrusleeping
85684ba7e2 don't add bad blocks to tipsetcache 2019-10-10 12:04:10 +09:00
Łukasz Magiera
30d7a714a9 miner: don't mine on the same base twice 2019-10-10 02:39:53 +02:00
whyrusleeping
da08ab9fd8 Implement cache for bad blocks 2019-10-09 17:50:57 +09:00
Łukasz Magiera
b3a88a21ce
Merge pull request #299 from filecoin-project/feat/remove-vdfs
remove VDFs from tickets
2019-10-09 10:02:51 +02:00
whyrusleeping
19b16077fe remove VDFs from tickets 2019-10-09 13:38:59 +09:00
whyrusleeping
249074761c verify message signatures during block validation 2019-10-09 11:58:49 +09:00
whyrusleeping
983ae22a03 remove outdated comment 2019-10-08 09:30:20 +09:00
whyrusleeping
684e8e27fc use proper const 2019-10-08 09:28:13 +09:00
whyrusleeping
0182b804a2 give syncer ability to deal with forked chains 2019-10-05 23:14:50 -06:00
whyrusleeping
5cb819b322 lots of cleanup, and finally a chain fork test case repro! 2019-10-05 21:32:56 -06:00
whyrusleeping
76ceb1f25a a bit more hacking to make the test framework bend to my will 2019-10-05 17:18:39 -06:00
Jakub Sztandera
9b90022c50
Improve logs and error messages
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-10-03 20:20:29 +02:00
whyrusleeping
10a5dd15f7 fix a couple small bugs 2019-10-02 15:12:37 -06:00
whyrusleeping
c0e6e611be clean up usage of stmgr.TipSetState 2019-10-02 14:03:27 -06:00
whyrusleeping
1419031f1e switch to parent state roots 2019-10-01 15:21:01 -06:00
whyrusleeping
317e83a410 fix sync tests by sorting tipsets 2019-10-01 12:47:42 -06:00
whyrusleeping
0d628516ed make it a type in api 2019-09-30 16:29:40 -06:00
whyrusleeping
af18cbac53 Add a command to inspect sync state progress 2019-09-30 15:06:47 -06:00
Whyrusleeping
47bf759122
Merge pull request #223 from filecoin-project/feat/block-reward
working on correct block reward
2019-09-27 15:08:54 -07:00
Jakub Sztandera
ef5e7674db Use incremental alg for rewards
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-09-27 00:33:38 +02:00
whyrusleeping
af0eb34ec6 make chain sync faster by turning up blocksync window 2019-09-26 00:22:45 -07:00
Łukasz Magiera
76c5eca05a chain: Reduce log noise 2019-09-25 15:38:59 +02:00
whyrusleeping
47d12417b3 working on correct block reward 2019-09-23 21:15:18 -07:00
Łukasz Magiera
4202da62cd
Merge pull request #216 from filecoin-project/feat/consensus-slashing
Feat/consensus slashing
2019-09-20 16:58:03 +02:00
Łukasz Magiera
9d36a499b6 post merge fixes 2019-09-20 14:22:46 +02:00
whyrusleeping
fe020d9fd1 implement SlashConsensusFault 2019-09-19 22:23:24 -07:00
whyrusleeping
394edc6317 refactor to use 'randomness' as input to new vm creation 2019-09-19 20:08:44 -07:00
whyrusleeping
e7b642f1ff fix import grouping 2019-09-17 11:09:22 -07:00
Whyrusleeping
cf257ae773
Update chain/sync.go
Co-Authored-By: Łukasz Magiera <magik6k@users.noreply.github.com>
2019-09-18 04:08:03 +10:00
whyrusleeping
8d2bcc5e3d final chain serialization bits 2019-09-16 18:56:37 -07:00
whyrusleeping
c7ad08c565 check block signatures during sync 2019-09-11 13:12:49 -07:00
whyrusleeping
512da42cde address review feedback 2019-09-09 19:14:27 -07:00
whyrusleeping
74f68dc630 perform tipset expansion on sync and fix tipset comparison 2019-09-09 19:14:27 -07:00
whyrusleeping
b5462542a8 fix tests and fix a bug in blocksync 2019-09-09 19:14:26 -07:00
whyrusleeping
ed45d1c2b4 refactor state utilities into StateManager package, implement proper election proofs 2019-09-09 19:14:00 -07:00
whyrusleeping
6e21372ccb initial refactor for creating tipsets with multiple parents 2019-09-09 19:12:32 -07:00
Łukasz Magiera
314141e4ea Set timestamp in miner 2019-09-07 00:42:01 +02:00
Łukasz Magiera
5f88ceb965 basic chain event impl 2019-09-03 19:45:55 +02:00
Łukasz Magiera
57d0f7c722
Merge pull request #162 from filecoin-project/feat/retrieval
Retrieval
2019-08-31 00:29:00 +02:00
whyrusleeping
b69557251c Add proper timestamping and checking of timestamps 2019-08-29 19:59:54 -07:00
Łukasz Magiera
be30bc79a5 Retrieval works! 2019-08-29 17:50:19 +02:00
whyrusleeping
ccdc1575d6 add signatures to blocks 2019-08-26 17:46:39 -07:00
whyrusleeping
7eb89f90d1 Replace most marshaling with codegen 2019-08-22 12:53:32 -07:00
whyrusleeping
7c7a15d40c fix putting the wrong items into the receipts tree for verification 2019-08-21 10:40:28 -07:00
whyrusleeping
5a7f59498e Wire up more proper ticket generation and verification logic 2019-08-16 12:39:12 -07:00
Whyrusleeping
09539f9322
Merge pull request #118 from filecoin-project/feat/clarify-sync
clean up sync, make everything go in the same direction
2019-08-05 12:15:04 -07:00
Whyrusleeping
3e768742a2
Merge pull request #113 from filecoin-project/feat/bls-spec-change-refactor
refactoring to accomodate the bls message changes in the spec
2019-08-05 12:09:01 -07:00
Whyrusleeping
c18711b3f9
Merge pull request #105 from filecoin-project/feat/multisig
Implement multisig
2019-08-05 12:08:32 -07:00
Jakub Sztandera
9577348422 Dual impl
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-08-03 13:26:35 +02:00
whyrusleeping
b35b801bfa self review 2019-08-02 15:34:18 -07:00
whyrusleeping
14f6cc8a0b clean up sync, make everything go in the same direction 2019-08-02 15:21:46 -07:00
Łukasz Magiera
9f195a175c
Update chain/sync.go 2019-08-02 16:12:20 +02:00
whyrusleeping
ff3433baa1 fix chain progression after restarting process 2019-08-01 23:46:14 -07:00
whyrusleeping
dc7c0fcabe refactoring to accomodate the bls message changes in the spec 2019-08-01 18:19:22 -07:00
whyrusleeping
8cdc09fc08 fix syncing new blocks we have locally when not connected to any peers 2019-08-01 17:13:57 -07:00
whyrusleeping
a8b434a708 fix the most annoying bug ever 2019-07-31 10:43:57 -07:00
Łukasz Magiera
99aaafaed2 chain: Some sync cleanup 2019-07-31 10:43:13 -07:00
Łukasz Magiera
412a168151 chain: more work on chain sync, sync testing 2019-07-31 10:43:13 -07:00
Łukasz Magiera
b6439fa57d chain: Test sync with messages 2019-07-31 10:43:13 -07:00
Łukasz Magiera
fae0422de6 chain: Don't use SyncBootstrap 2019-07-31 10:43:13 -07:00
Łukasz Magiera
c8478ddd3f chain: Make fetching parents in collectChainCaughtUp sort of work 2019-07-31 10:43:13 -07:00
whyrusleeping
0c67d66198 Make message wait work and use it for the storage-miner init 2019-07-29 11:58:30 -07:00
whyrusleeping
71baa5cbfe implement chain generator 2019-07-26 13:47:29 -07:00
Jakub Sztandera
0e35240fe9 Wire in context to VMContext
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-26 21:01:02 +02:00
whyrusleeping
78da356752 pull more things apart 2019-07-26 13:49:30 +02:00
Łukasz Magiera
a565598b25 Merge remote-tracking branch 'origin/master' into feat/pond 2019-07-26 03:58:13 +02:00
whyrusleeping
501b2e4640 update to and use fixed cbor rpc code 2019-07-25 17:49:27 -07:00
whyrusleeping
e09ad3d65c Refactor out more types into types package, and pull genesis block code into gen package 2019-07-25 16:35:47 -07:00
whyrusleeping
0ac3545013 move actors to separate package 2019-07-12 16:52:25 -07:00
Jakub Sztandera
9746b88bb3 Move Actor, BigInt, MessageReceipt
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-12 12:23:05 +02:00
whyrusleeping
d381025ccc Implement initial mining logic 2019-07-10 19:36:43 -07:00
Łukasz Magiera
d1eb9073d1 Pubsub for blocks/messages 2019-07-08 16:07:09 +02:00
Łukasz Magiera
b3239d9b23 Drop old libp2p imports 2019-07-08 14:51:45 +02:00
Łukasz Magiera
2987d04efa chain: Fix most build errors 2019-07-05 16:47:03 +02:00
Łukasz Magiera
277b117d9f gofmt, mod tidy 2019-07-05 16:36:08 +02:00
Łukasz Magiera
bd0b189d1e chain: Use f2 code 2019-07-05 16:29:17 +02:00