Commit Graph

385 Commits

Author SHA1 Message Date
Jakub Sztandera
5e6ab42cb8
Don't depend on ffi
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-02-04 15:12:04 +01:00
Łukasz Magiera
a2bcc1fec2 Mostly functional mock sectorbuilder 2020-01-14 03:05:35 +01:00
whyrusleeping
83605dfd95 check for duplicate candidates in block headers 2020-01-10 09:57:58 -08:00
Jakub Sztandera
1ed62628a7
Update go-log to v2
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-01-08 20:22:31 +01:00
Łukasz Magiera
1392dcc273 Merge remote-tracking branch 'origin/master' into feat/testnet2 2020-01-08 13:53:01 +01:00
whyrusleeping
897cf72933 Add command to mark given blocks as bad 2020-01-07 21:42:15 -08:00
Łukasz Magiera
7b134b8317
Merge pull request #1031 from filecoin-project/feat/block-message-limit
introduce a limit on the number of messages a block can have
2020-01-07 21:48:57 +01:00
Łukasz Magiera
22e9815928 Merge remote-tracking branch 'origin/master' into feat/testnet2 2020-01-07 21:45:30 +01:00
whyrusleeping
a109ae1490 introduce a limit on the number of messages a block can have 2020-01-07 12:41:26 -08:00
laser
841f9c3627 reorganize imports to pass linter 2020-01-07 08:23:12 -08:00
acruikshank
7873213b11 switch sectorbuilder from lib to external module
point to correct version of sectorbuilder + ensure go-datastore stays at 0.1.1

replace local address type with go-address

consume paramfetch.GetParams instead of local paramfetch.go

remove constants now defined in sectorbuilder
2020-01-07 07:48:43 -08:00
Łukasz Magiera
97ae184d0a Merge remote-tracking branch 'origin/master' into feat/testnet2 2020-01-07 15:06:35 +01:00
hannahhoward
8418464d91 refactor(address): use extracted address library
Switch to using extracted address library
2020-01-07 14:53:27 +01:00
Łukasz Magiera
605562467d Flatten fork code for testnet2 2020-01-06 19:39:57 +01:00
whyrusleeping
e5899f614a Tag peers who send us good blocks over pubsub 2019-12-19 12:47:55 -08:00
whyrusleeping
3cb4a60db4 some log cleanup and an extra trace value 2019-12-17 14:15:51 -08:00
Whyrusleeping
31327a383f
Merge pull request #948 from filecoin-project/feat/sybill-fun
Basic sybill resistance mechanisms
2019-12-17 20:45:45 +01:00
Łukasz Magiera
4ea6305771 sync: Check bls aggregate early 2019-12-17 12:20:09 +01:00
whyrusleeping
7dcc528cd1 tag peers who propagate good blocks to us 2019-12-16 23:06:48 -08:00
whyrusleeping
4e4d6fb8de parallelize bls message hashing for validation 2019-12-16 19:36:32 -08:00
Łukasz Magiera
3892e94bfe
Merge pull request #938 from filecoin-project/feat/load-tipset-cache
cache load tipset
2019-12-16 21:13:03 +01:00
whyrusleeping
6e94377469 cache load tipset 2019-12-16 11:22:56 -08:00
Łukasz Magiera
f297409d6d
Merge pull request #936 from filecoin-project/feat/cleanup-logspam
clean up some log spam
2019-12-16 18:17:14 +01:00
whyrusleeping
99eae286c2 clean up some log spam 2019-12-16 09:14:21 -08:00
whyrusleeping
159117e720 dont allow submitting blocks more than a second in the future 2019-12-15 16:43:32 -08:00
Jakub Sztandera
b96da09a5d
Add additional checks
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-12-12 14:24:24 +01:00
Jakub Sztandera
1eed506728
Implement fork
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-12-12 14:16:47 +01:00
Jakub Sztandera
344dd2ca5a
Fix candidate check
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-12-12 14:12:43 +01:00
Jakub Sztandera
ae2a694dcb
Remove sync time
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-12-11 22:03:53 +01:00
whyrusleeping
f141849df5 fix incoming tipset bucketing 2019-12-11 21:41:24 +01:00
whyrusleeping
12eed004ae fix all panics from calling NewTipSet on an empty set of blocks 2019-12-10 22:41:02 +01:00
Henri S
9e363f9266
fix target for ePoSt IsTicketWinner fn
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-12-09 18:34:15 +01:00
whyrusleeping
8181b283c0 don't accept blocks from slashed miners 2019-12-07 18:59:34 +01:00
whyrusleeping
1b475ba6fe some fixes from staticcheck in ./chain 2019-12-04 17:18:30 -08:00
lanzafame
54df1c7be0 add error status to trace 2019-12-05 09:22:13 +10:00
whyrusleeping
c302051bc2 add duration tracking to sync status 2019-12-03 20:59:41 -08:00
whyrusleeping
034f0cc479 track sync errors in status 2019-12-03 19:56:29 -08:00
whyrusleeping
2d15e925cd WIP: improve timing of mining 2019-12-03 18:53:49 -08:00
Łukasz Magiera
f4c082c7de
Merge pull request #690 from filecoin-project/fix/message-nonce-head-change
Fix message nonce tracking during head changes
2019-12-03 00:34:11 +01:00
Łukasz Magiera
ab36a5aa04 wip fixing IsTicketWinner 2019-12-02 23:46:49 +01:00
whyrusleeping
b58e7344e8 pull messagepool into separate package 2019-12-02 14:33:11 -08:00
Łukasz Magiera
1cdf6a6f8d use challangeCount as sampleRate in IsTicketWinner 2019-12-02 15:24:27 +01:00
whyrusleeping
422e25c8e6 self review: some cleanup 2019-11-30 22:02:52 -06:00
whyrusleeping
3b533ed76c Genesis miner config actually sets the created miner address now 2019-11-29 22:31:26 -06:00
Łukasz Magiera
aefd432422 actors: Fallback post progress 2019-11-28 13:46:56 +01:00
Łukasz Magiera
23e0008b81 Merge remote-tracking branch 'origin/master' into feat/election-post 2019-11-27 13:31:44 +01:00
Łukasz Magiera
03b1d2329f seed: Call AcquireID for sectorIDs 2019-11-27 12:58:16 +01:00
laser
3623925f66 replace go-bls-sigs and go-sectorbuilder with filecoin-ffi
- remove old submodules and add new submodule
- update build tooling to consume new unified static library
- update consumers of old libs to use new package
2019-11-26 18:16:37 -08:00
Łukasz Magiera
407f6fa6f8 sync: correct vrfBase for ticket check 2019-11-26 23:54:11 +01:00
Łukasz Magiera
8297feb1d3 Pass correct randomness to EPoSt Verification 2019-11-26 18:29:18 +01:00
Łukasz Magiera
fc72da1d0c chain: Pass correct prover to VerifyPost 2019-11-26 18:06:05 +01:00
whyrusleeping
f03198c8a0 sync tests passing, still no vm integration 2019-11-22 10:41:09 -06:00
whyrusleeping
96482f456a WIP: election post restructuring 2019-11-21 16:21:45 -06:00
Łukasz Magiera
37792b149f sync: fix some issues 2019-11-20 20:49:29 +01:00
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