Commit Graph

247 Commits

Author SHA1 Message Date
Jakub Sztandera
008a2969b2
Fix two races in events
Also race fix: depends on https://github.com/ipfs/go-blockservice/pull/65
Resolves #2092, #2099, #2108, #1930, #2110

Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-06-24 17:05:24 +02:00
Raúl Kripalani
c8104a03e6
some initial godocs. (#2118) 2020-06-23 18:51:25 -03:00
Jeromy
c7e3a5cff4 fix null incrementing 2020-06-12 02:28:17 +02:00
Jakub Sztandera
c90d35869b
Add gas tracing
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-06-11 21:59:39 +02:00
Jeromy
9d49c6861f don't update the mining base if mining fails for some reason 2020-06-08 09:51:47 -07:00
Łukasz Magiera
7003960fdd Merge remote-tracking branch 'origin/master' into next 2020-06-01 18:52:06 +02:00
Howard Yeh
1cabecedee Fix block production timing to avoid mining old tipset 2020-05-29 18:13:58 +08:00
Jakub Sztandera
4604b60fb1
Remove drand on miner side, MinerGetBaseInfo provides the same info
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-05-27 20:24:26 +02:00
Jeromy
eaf69b160c having power below the minimum means not having power 2020-05-18 14:51:42 -07:00
Łukasz Magiera
b90666b293 miner: optimize SelectMessages 2020-05-15 19:30:31 +02:00
Jeromy
88fa9726cc use chainmsg type instead of unsigned message for gas price checking 2020-05-14 12:44:26 -07:00
Jeromy
881b0517b1 reuse logic between message selection and validation 2020-05-14 12:29:11 -07:00
Jeromy
1d8c8b9a8e check gas limits on messages more places 2020-05-12 22:36:43 -07:00
Jeromy
368fff246b replace outdated comment 2020-05-05 12:39:43 -07:00
Jeromy
8b58f22c2e block producers should have only one address 2020-05-05 12:01:44 -07:00
Jeromy
be2a357102 winning post wants the actual epoch of the block, not the previous 2020-05-01 12:42:59 -07:00
Jeromy
bee25d221f fix mining base randomness 2020-04-30 15:11:14 -07:00
Jeromy
c4852e04c9 Use miner address in randomness mixing 2020-04-30 13:21:46 -07:00
Jeromy
4b3cc2ca7e fix winning post inputs 2020-04-30 11:27:22 -07:00
Jeromy
d73b369fa5 implement latest changes to randomness 2020-04-29 16:50:45 -07:00
Whyrusleeping
b2dda08368 respect shutdown signals when sleeping in miner code (#1617) 2020-04-27 15:54:41 -07:00
Łukasz Magiera
c137b0cf73 Merge remote-tracking branch 'origin/testnet/3' into feat/newminer 2020-04-23 23:53:23 +02:00
Łukasz Magiera
86e7f5914b testing: test 2-miner mining 2020-04-23 23:20:02 +02:00
Whyrusleeping
faa9002cce working on sector pledge requirements after specs-actors 1.0.0 (#1584)
* WIP: working on sector pledge requirements after specs-actors 1.0.0

* update storage-fsm with pledge collateral logic

* Set bigger balances for miners

* Return only additional required pledge

* split collateral methods into two methods

Co-authored-by: Łukasz Magiera <magik6k@gmail.com>
2020-04-23 12:39:34 -07:00
Jeromy
91f56742c4 Use lookback to get sector set and power for miners 2020-04-17 16:44:18 -07:00
Łukasz Magiera
712e2683d6 miner: proving info commands 2020-04-18 00:02:18 +02:00
Jeromy
708988244d WIP: working on winning post integration 2020-04-16 22:39:55 -07:00
Łukasz Magiera
dc2a67f13f Fix worker key resolving 2020-04-16 22:38:42 +02:00
Łukasz Magiera
afdfc8807d api: Single method for static miner info 2020-04-16 19:36:36 +02:00
Łukasz Magiera
613e61222b mostly wire up WindowedPoSt 2020-04-10 23:07:18 +02:00
Jeromy
83416e2758 remove deadcode 2020-04-09 10:34:54 -07:00
Jeromy
ac271b021d finish addressing review 2020-04-09 10:13:09 -07:00
Jeromy
c5c18659a4 address some review 2020-04-08 17:24:10 -07:00
Jeromy
ef6fb1b756 rename beacon to randombeacon 2020-04-08 16:10:08 -07:00
Jakub Sztandera
1bd28bdb6a Fix lint errors
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-04-08 21:37:04 +02:00
Jakub Sztandera
ce4978d8c3 Reintroduce correct ticket randomness alongside ElectionProof
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-04-08 21:06:41 +02:00
Jakub Sztandera
f1c890ca54 Tests pass
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-04-08 18:31:16 +02:00
Jeromy
8e0ca306d2 more wiring up of drandomness 2020-04-08 08:11:42 -07:00
Jakub Sztandera
9fd1b95fd5 Fix build errors
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-04-07 15:32:23 -07:00
Jakub Sztandera
9c250f24fa Nex wip
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-04-07 15:32:23 -07:00
Jakub Sztandera
afdb1db529 drand wip
,
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-04-07 15:32:23 -07:00
Jeromy
7075eaba26 WIP: random beacon interface
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-04-07 15:32:23 -07:00
Jakub Sztandera
326490be86 Fix miner
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-03-26 17:26:48 +01:00
Jeromy
90f43d99ca cbor marshal address for ticket generation 2020-03-20 14:56:05 -07:00
whyrusleeping
baca881473 dont panic when replay fails to find a message 2020-03-10 12:44:50 -07:00
Łukasz Magiera
d787aa5007 Merge branch 'testnet/3' into feat/specs-actors 2020-02-24 18:32:02 +01:00
Łukasz Magiera
917df9a5b8 More unified randomness handling 2020-02-23 21:00:47 +01:00
Aayush Rajasekaran
60970008c8 Re: #1250: API methods should receive TipSetKeys, not TipSets, as input 2020-02-17 19:53:43 -05:00
Łukasz Magiera
255f511abd storageminer: Updates to new types 2020-02-12 23:12:11 +01:00
Łukasz Magiera
13435aebdc Spec Actors integration 2020-02-08 03:18:32 +01:00
Łukasz Magiera
11a6bff416 miner: Handle stop signal when sleeping 2020-01-23 11:10:42 +01:00
whyrusleeping
6ccf24ce6c Fix miner tests, push back fork time 2020-01-16 23:10:47 -08:00
whyrusleeping
c6186a03f1 quick mechanism to prevent miners from submitting slashable blocks 2020-01-16 22:58:10 -08:00
whyrusleeping
611dd77442 properly filter messages during compute state 2020-01-16 19:36:54 -08:00
Łukasz Magiera
7da41f0fdc miner: Don't fail on actor not found in selectMessages 2020-01-14 16:12:26 +01: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
whyrusleeping
a109ae1490 introduce a limit on the number of messages a block can have 2020-01-07 12:41:26 -08:00
hannahhoward
8418464d91 refactor(address): use extracted address library
Switch to using extracted address library
2020-01-07 14:53:27 +01:00
whyrusleeping
42074ff041 add command to get sector size of a miner 2019-12-12 12:31:22 +01:00
whyrusleeping
d64f8a38d1
implement a minimum miner size
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-12-09 21:30:04 +01:00
Łukasz Magiera
3673a9110f
Merge pull request #743 from filecoin-project/feat/static-check-2
more of that sweet staticcheck goodness
2019-12-05 12:21:43 +01:00
marco-storswift
c337a5b728 bugfix haspower meaning 2019-12-05 13:49:11 +08:00
whyrusleeping
613a0a05a0 more of that sweet staticcheck goodness 2019-12-04 18:04:09 -08:00
whyrusleeping
99dfb8df68 dont add too many messages to a block 2019-12-03 22:18:02 -08:00
whyrusleeping
2d15e925cd WIP: improve timing of mining 2019-12-03 18:53:49 -08:00
Łukasz Magiera
9bb054a767 slightly cleaner IsRoundWinner 2019-12-03 22:27:07 +01:00
whyrusleeping
569bcce878 sorting is not necessary 2019-12-03 12:23:56 -08:00
whyrusleeping
d0448287a9 remove unnecessary code 2019-12-03 12:05:54 -08:00
Łukasz Magiera
0e4c59d6a7 miner: Don't deduce balance twice per msg in actorLookup 2019-12-03 20:47:17 +01:00
Łukasz Magiera
9c6e9212a2 mining: get pending messages early 2019-12-03 19:25:56 +01:00
Łukasz Magiera
5810922441 This helps for some reason 2019-12-03 17:39:47 +01:00
whyrusleeping
9ad4a00cda fix miner message filter nonce checking 2019-12-03 13:38:50 +01:00
Łukasz Magiera
8e09fd6ca8
Merge pull request #696 from filecoin-project/fix/propagation-delay
fix propagation delay to be a sane number
2019-12-03 13:35:25 +01:00
whyrusleeping
84f07cee35 fix null block mining 2019-12-02 23:58:38 -08:00
whyrusleeping
1b8aa2c2b4 fix propagation delay to be a sane number 2019-12-02 20:34:41 -08:00
whyrusleeping
4500a36ec6 some useful log messages 2019-12-02 16:08:08 -08:00
whyrusleeping
8da3cc875e Fix message nonce tracking during head changes 2019-12-02 14:33:11 -08:00
Łukasz Magiera
b255b57de8 Demote BestMiningCandidate error to wanning 2019-12-02 21:04:04 +01:00
Łukasz Magiera
28ddc904b4 Miner can have no power without being slashed 2019-12-02 20:52:15 +01:00
whyrusleeping
422e25c8e6 self review: some cleanup 2019-11-30 22:02:52 -06:00
whyrusleeping
59d9c681ad Rework miner test setups to fix tests 2019-11-30 17:21:11 -06:00
whyrusleeping
3b533ed76c Genesis miner config actually sets the created miner address now 2019-11-29 22:31:26 -06:00
Łukasz Magiera
703bc7e774 Fix slashing / power recovery issues 2019-11-29 21:18:34 +01:00
Łukasz Magiera
d2412f4f00 Fix pond 2019-11-27 15:18:51 +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
871c30d2a0 WIP trying to get election post to compute 2019-11-26 16:15:41 +01:00
whyrusleeping
a0588d513d Add lotus-gen, rewire genesis mining 2019-11-24 22:45:13 -06:00
Łukasz Magiera
c7b34153fb more mpooland post sched fixes 2019-11-24 17:35:50 +01:00
whyrusleeping
f03198c8a0 sync tests passing, still no vm integration 2019-11-22 10:41:09 -06:00
Jakub Sztandera
36b7c5a32a
Swtich to xerrors
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-11-22 10:20:56 -06:00
whyrusleeping
96482f456a WIP: election post restructuring 2019-11-21 16:21:45 -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
Jakub Sztandera
fe8a700a4f
Fix race in miner
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-11-19 17:21:54 -06:00
Jakub Sztandera
463cdbb499
Make extra extra sure that we won't get slashed
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-11-19 13:36:03 -06:00
Jakub Sztandera
6e1bee3f8a
fix typo
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-11-18 19:05:51 -06:00
Jakub Sztandera
bf556e2c99
Support multiple miners
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-11-18 15:59:31 -06:00
Łukasz Magiera
29778cd653 Mostly fix TestDealFlow 2019-11-07 01:18:06 +01: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
Łukasz Magiera
6a50f23cd7 pond: storage miner method updates 2019-10-15 14:31:34 +02:00
Łukasz Magiera
29f26cb8d1 Compiling with the new weight func 2019-10-15 14:31:34 +02:00
Łukasz Magiera
fb80d75b07 Almost building weight function 2019-10-15 14:31:34 +02:00
Łukasz Magiera
2ce338e162 wip weight function 2019-10-15 14:31:34 +02:00
whyrusleeping
7c26e3c35f WIP: ensure blocks make it into repo before pushing to pubsub 2019-10-14 23:21:37 +09:00
Jakub Sztandera
4ff717e881
Make the mined block in the past structured
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-10-14 15:51:51 +02:00
whyrusleeping
62057a8929 reject messages with bad 'To' addresses 2019-10-14 12:28:19 +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
Łukasz Magiera
14d88d27b4 miner: Alos check lastbase ticket 2019-10-10 04:03:42 +02:00
Łukasz Magiera
30d7a714a9 miner: don't mine on the same base twice 2019-10-10 02:39:53 +02:00
Łukasz Magiera
3fd2f3da7a miner: Log late blocks 2019-10-10 02:22:32 +02:00
whyrusleeping
8a374232fb if we mine a null round, wait until end of current round before attempting to continue 2019-10-09 18:23:43 +09:00
whyrusleeping
a6f6674468 don't sleep if no block mined 2019-10-09 18:11:41 +09:00
whyrusleeping
19b16077fe remove VDFs from tickets 2019-10-09 13:38:59 +09:00
whyrusleeping
d82a1f8184 fix nonce checking and also check cumulative balance 2019-09-26 13:47:34 -07:00
whyrusleeping
8337dd52fe handle messages with invalid nonces after balance filtering 2019-09-25 20:53:52 -07:00
whyrusleeping
f5ae64bf94 filter out messages that have insufficient funds from block production 2019-09-25 20:48:53 -07:00
Łukasz Magiera
a6dafed486 tests: Basic mining integration test 2019-09-23 19:50:15 +02:00
whyrusleeping
b1e77748e7 scaffolding and refactoring to make post scheduler work 2019-09-17 19:50:03 -07:00
whyrusleeping
75b343a54a miner code needs to pass all tickets to create block 2019-09-13 14:12:23 -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
4a5aa680ae deals: Address review 2019-09-09 21:21:37 +02:00
Łukasz Magiera
314141e4ea Set timestamp in miner 2019-09-07 00:42:01 +02:00
Łukasz Magiera
57d0f7c722
Merge pull request #162 from filecoin-project/feat/retrieval
Retrieval
2019-08-31 00:29:00 +02:00
whyrusleeping
94cdb231eb fix delay in miner 2019-08-29 23:27:02 -07: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
Łukasz Magiera
834837690b placeholder tipset.Weight implementation 2019-08-22 01:24:59 +02:00
Łukasz Magiera
fd2f0ed4f2 pond: Display miner power 2019-08-22 00:15:45 +02:00
Łukasz Magiera
e01ab507ca pond: New miner spawning 2019-08-22 00:15:45 +02:00
Łukasz Magiera
9c079b6dcf miner: Fail when Register is called multiple times with one actor address 2019-08-20 20:21:37 +02:00
Łukasz Magiera
f43757f9f2 storageminer: Unregister genesis miner in init 2019-08-20 20:17:59 +02:00
Łukasz Magiera
90dd19fe49 miner.Unregister 2019-08-20 20:05:17 +02:00
Łukasz Magiera
eda26faf21 Register miner address from storageminer process 2019-08-20 19:19:24 +02:00
Łukasz Magiera
4431dffc39 miner: Create miner in DI 2019-08-20 18:50:17 +02:00
Łukasz Magiera
1bacee146d pond: Temp hack to have at least the genesis miner work 2019-08-20 00:08:30 +02:00
whyrusleeping
f7dc253669 (mostly) proper ticket generation 2019-08-16 12:39:13 -07:00
whyrusleeping
5a7f59498e Wire up more proper ticket generation and verification logic 2019-08-16 12:39:12 -07:00
whyrusleeping
e9d1f3e7c9 WIP: base mining on power and VRFs 2019-08-16 12:39:12 -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
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
2ce8dbbb06 store and load latest chain head in the datastore 2019-07-24 14:43:26 -07:00
whyrusleeping
19c883cdfe fix a few things, including marshaling of tipset 2019-07-10 21:36:10 -07:00
whyrusleeping
d381025ccc Implement initial mining logic 2019-07-10 19:36:43 -07:00
whyrusleeping
d6311a3a2b WIP: thoughts on apis needed for mining process 2019-07-08 19:48:49 -04:00