Commit Graph

280 Commits

Author SHA1 Message Date
whyrusleeping
57b931b06a apply less nice but working fix 2020-08-03 18:26:55 -07:00
whyrusleeping
50ae04e6b7
add test to show that select messages isnt working as expected
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-04 03:03:28 +02:00
Jakub Sztandera
3e23b3653b
Correctly account for gas of included messages
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-04 03:03:14 +02:00
whyrusleeping
255777a4a9 implement dumb pruning 2020-08-01 15:54:21 -07:00
Jakub Sztandera
a8c6253fc7
Show it tests that it works even better
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-31 14:27:28 +02:00
Jakub Sztandera
fc0bd2cda5
Add gas guesstimation
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-31 14:27:28 +02:00
Jakub Sztandera
483b33acd1
Move SelectMessages to its own file
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-31 14:27:28 +02:00
whyrusleeping
4bbe5abf81 improve slow block production logs 2020-07-29 14:20:07 -07:00
Aayush Rajasekaran
b51e2a868b
Merge branch 'next' into feat/cid-builder 2020-07-28 21:02:30 -04:00
Aayush Rajasekaran
859168015a Use specs actor's MinerNominalPowerMeetsConsensusMinimum 2020-07-28 17:21:05 -04:00
Łukasz Magiera
fb59b40507 Fix some tests 2020-07-28 18:16:56 +02:00
whyrusleeping
cd00b0090b mitigate epoch boundary attacks by randomizing cutoff 2020-07-21 11:42:38 -07:00
Anton Evangelatov
69ebd2bb85 move mutex before select 2020-07-20 17:45:46 +02:00
Jakub Sztandera
399c171f03
Update gas limits, update storage-fsm
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-15 21:21:53 +02:00
Jakub Sztandera
7b14d445b4
Update message gas limits
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-15 20:01:57 +02:00
Raúl Kripalani
a44e80c829 Merge branch 'next' into mock-clock 2020-07-15 15:51:11 +01:00
Raúl Kripalani
86457e5201
fix flaky test (miner#TestMessageFiltering). (#2411) 2020-07-15 15:50:32 +01:00
Raúl Kripalani
55d88440eb refine block timing log statements. 2020-07-14 17:12:00 +01:00
Raúl Kripalani
13de81b3b2 introduce the ability to mock time. 2020-07-10 15:51:45 +01:00
Łukasz Magiera
18199ff323
Merge pull request #2223 from filecoin-project/feat/miner-msg-select-use-gas-price-is-more-better
miner: Use gas price when selecting messages
2020-07-09 21:53:16 +02:00
Yusef Napora
ea5dc461a1 pass error into waitFunc callback 2020-07-03 17:15:43 -04:00
Yusef Napora
d6d68b9096 call waitFunc callback on mining error 2020-07-03 09:56:40 -04:00
Łukasz Magiera
70cac6ce08 miner: Use gas price when selecting messages 2020-07-01 20:35:19 +02:00
Łukasz Magiera
e949a458ec miner: Fix mpool too-high-nonce-msgs log 2020-07-01 12:53:27 +02:00
Raúl Kripalani
1ef490feea rename build.PropagationDelay{=>Secs}. 2020-06-30 15:01:30 +01:00
Raúl Kripalani
4f9c907248 rename build.{BlockDelay=>BlockDelaySecs}.
Since this global is not typed as a time.Duration,
rather as an int, it makes sense to clarify the unit.
2020-06-30 14:26:49 +01:00
Raúl Kripalani
0fddf3e114 make system constants configurable as vars.
This configurability is unlocked through the `testground`
build tag, which Project Oni will uses.

Changes in the usage places of these relaxed constants
were required due to the fact that Golang constants are
untyped, but vars aren't.

Read https://blog.golang.org/constants for more info.
2020-06-30 14:18:26 +01:00
waynewyang
8d51a20143 fix: mining logic 2020-06-28 18:20:56 +08:00
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
Łukasz Magiera
93b2b6d65d Merge branch 'testnet/3' into feat/windowed-post 2020-04-17 18:38:20 +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
Jeromy
674be39af1 real drand network integration 2020-04-13 20:06:10 -07: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
ddf1beac6c change gas limit to be a normal int64 2020-03-18 13:45:37 -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
0c227e89b2 fix last miner test, go mod tidy 2020-01-16 22:39:23 -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
f478267fd1 fix tests 2019-10-14 13:32:55 +09: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