Commit Graph

242 Commits

Author SHA1 Message Date
Steven Allen
7a46c5ff31 [WIP] Fix ticket randomness
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-10 17:41:55 -04:00
Anton Evangelatov
1d67e38f78 add niceSleep 1 second when drand errors 2020-09-08 18:35:10 +02:00
Aayush Rajasekaran
d678fe4bfa Fix tests 2020-09-07 15:48:42 -04:00
Aayush Rajasekaran
39755a294a Update to specs v0.9.6 2020-09-07 15:48:41 -04:00
Raúl Kripalani
3206f92063 Merge branch 'master' into inmem-journal 2020-09-02 19:50:52 +01:00
whyrusleeping
36ff37ba47 Wait until blocks show up full nodes 'head' before claiming block has been mined 2020-08-26 17:51:16 -07:00
Raúl Kripalani
efdfd3ee3e Merge branch 'master' into inmem-journal 2020-08-26 16:38:23 +01:00
Raúl Kripalani
4e1ef09751 make journal a global var. 2020-08-26 16:09:37 +01:00
Steven Allen
5733c71c50 Lint everything
We were ignoring quite a few error cases, and had one case where we weren't
actually updating state where we wanted to. Unfortunately, if the linter doesn't
pass, nobody has any reason to actually check lint failures in CI.

There are three remaining XXXs marked in the code for lint.
2020-08-20 20:46:36 -07:00
Jakub Sztandera
f018e870dc
Address review
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-11 23:35:06 +02:00
Jakub Sztandera
b309e80e41
Wire in Ticket Quality to MpoolSelect
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-11 16:14:27 +02:00
Raúl Kripalani
2ea5abdfb5 wire journal into miner. 2020-08-11 13:48:32 +01:00
whyrusleeping
d1d4ca65b2 add block timestamp to journal 2020-08-07 14:20:51 -07:00
whyrusleeping
e6c70c19d0 add a journal entry when miners mine a block 2020-08-07 13:51:41 -07:00
Łukasz Magiera
c62859e38b Unrevert #2832 with fixed code 2020-08-07 18:09:53 +02:00
Łukasz Magiera
c8cf8f3ee1 Revert #2832 fully 2020-08-07 17:51:03 +02:00
Łukasz Magiera
9b28be14cd Betting logs 2020-08-07 17:36:15 +02:00
Łukasz Magiera
d31d6e61d8 miner: Don't wait for beacon entries 2020-08-07 14:43:55 +02:00
whyrusleeping
41bc8f14a2 fix tests 2020-08-06 17:05:35 -07:00
whyrusleeping
5dbbf50f62 recheck best known tipset after waiting for random beacon entry to become available 2020-08-06 16:54:16 -04:00
Łukasz Magiera
e54a87f91b
Merge pull request #2838 from filecoin-project/feat/message-pool-selection
New message pool selection logic
2020-08-06 20:19:35 +02:00
Łukasz Magiera
73b8868046 gofmt 2020-08-06 03:32:59 +02:00
Łukasz Magiera
f8b8ecc0c3 Consensus filter 2020-08-06 03:16:39 +02:00
vyzo
96b3295307 introduce and use MpoolSelect API 2020-08-05 23:17:14 +03:00
whyrusleeping
255777a4a9 implement dumb pruning 2020-08-01 15:54:21 -07: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
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
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