Commit Graph

586 Commits

Author SHA1 Message Date
hannahhoward
0c4db8cf6b fix(storageminer): add missing err check
Missing an err check in storage miner initialization in the stored ask
2020-05-28 17:05:17 -07:00
Ignacio Hagopian
17c378c18a fix
Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
2020-05-28 22:11:49 +02:00
Ignacio Hagopian
0af7cd1448 allow using ipfs for retrieval
Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
2020-05-28 22:11:49 +02:00
Ignacio Hagopian
de3edc2ec7 remote ipfs support & automatic env
Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
2020-05-28 22:11:49 +02:00
Jakub Sztandera
b372881e91
Fix more lint warnings
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-05-28 01:15:19 +02:00
Jakub Sztandera
d6615b6286
Cleanup many lint warnings
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-05-27 22:53:20 +02: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
Ignacio Hagopian
009cd92010
fix
Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
2020-05-27 09:50:32 -03:00
Ignacio Hagopian
61daaa774b
allow using ipfs for retrieval
Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
2020-05-26 14:52:52 -03:00
Ignacio Hagopian
d5346f8326
remote ipfs support & automatic env
Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
2020-05-26 14:52:51 -03:00
vyzo
314da26da3 unconditionally disable relay 2020-05-25 13:39:50 +03:00
vyzo
5531f27798 sink the FirstMessageDeliveries boost for the messages topic 2020-05-22 17:25:56 +03:00
Whyrusleeping
83436842c5
Merge pull request #1802 from filecoin-project/feat/gfm-v0.2.7
Use latest go-fil-markets
2020-05-21 10:05:54 -07:00
vyzo
d597c3fb0d increase OpportunisticGraftThreshold to 5 2020-05-21 14:38:11 +03:00
vyzo
0cc8446a79 configure Dout=0 for bootstrappers, turn off Mesh Failure Penalty for messages as well 2020-05-21 12:11:22 +03:00
hannahhoward
3264a9faad feat(deps): update to latest go-fil-markets
update to go-fil-markets v0.2.7 with latest changes, modify constructors as needed to accomodate new
DS Prefix customization
2020-05-20 16:01:03 -07:00
shannonwells
652c257763 passing w/ new namespace wraps 2020-05-20 15:58:59 -07:00
shannonwells
e68ab286f6 upgrade lotus to go-fil-markets v0.2.5 2020-05-20 15:56:58 -07:00
Łukasz Magiera
f7325a69c1 Extract auth utils to go-jsonrpc 2020-05-20 20:37:45 +02:00
Łukasz Magiera
ae60001dcc post: Handle Recovering sectors 2020-05-20 18:41:20 +02:00
Łukasz Magiera
cea7c41023
Merge pull request #1761 from dtynn/fix/dtynn/use_abs_path_for_client_filestore
use abs path to construct FileManager
2020-05-20 12:49:53 +02:00
Łukasz Magiera
0fe7a0b2e3
Merge pull request #1764 from filecoin-project/feat/has-cache-bs
add blockstore 'Has' caching
2020-05-20 12:48:50 +02:00
Jeromy
607bcc401c very basic api documentation autogeneration 2020-05-18 17:20:54 -07:00
Jeromy
9804bd3c4c add blockstore 'Has' caching 2020-05-16 11:31:14 -07:00
dtynn
30e2642f4d use abs path to construct FileManager 2020-05-16 09:36:38 +08:00
Whyrusleeping
70657e35ba
Merge pull request #1708 from filecoin-project/feat/block-validator
Improved pubsub block validator
2020-05-15 11:26:26 -07:00
vyzo
dbe2a1e2cd turn off Mesh Delivery Failure penalty 2020-05-15 12:50:20 +03:00
vyzo
6e0dac06f4 utility to retrieve miner worker key from the chain 2020-05-14 20:48:19 +03:00
vyzo
5bd0e92068 remove source flagging from bogus CID blocks
it's ineffective.
2020-05-14 20:48:19 +03:00
vyzo
b032d3524b configure behaviour penalty for gsv1.1 2020-05-14 20:48:19 +03:00
Jeromy
d3eb808ff4 add profile for bootstrappers 2020-05-14 09:27:07 -07:00
Łukasz Magiera
e8d92a5f31 node: Use correct network name for DHT 2020-05-12 19:38:04 +02:00
hannahhoward
581e7e6fde chore(deps): update to fil-markets 0.2.1
Update fil-markets to 0.2.1 that no longer keeps streams open
2020-05-08 14:11:40 -07:00
Łukasz Magiera
523a7a9d8d Merge pull request #1670 from filecoin-project/feat/update-markets-0.2.0
Update go-fil-markets
2020-05-06 01:45:33 +02:00
Łukasz Magiera
60b78a74f7 Merge pull request #1676 from filecoin-project/cleanup/multi-addr-miner
block producers should have only one address
2020-05-05 22:12:32 +02:00
Jeromy
8b58f22c2e block producers should have only one address 2020-05-05 12:01:44 -07:00
vyzo
eb24baa70c use go-libp2p-core/peer instead of the deprecated alias, try to pacify the silly linter 2020-05-05 17:26:59 +03:00
vyzo
4e5179557d flag block source when messages cannot be retrieved 2020-05-05 16:49:43 +03:00
hannahhoward
a9866c757e feat(deps): update go-fil-markets
Update to latest 0.2.0 release of go-fil-markets with less-blocking node io
2020-05-04 18:36:51 -07:00
vyzo
e3f6e586ee use blake2b hash as the message ID function 2020-05-04 19:34:30 +03:00
vyzo
805d07bca6 turn off the mesh in bootstrappers 2020-05-04 19:04:24 +03:00
vyzo
112aca7896 pubsub-specific configuration 2020-05-04 18:30:54 +03:00
Whyrusleeping
ae420fc9f4 Merge branch 'testnet/3' into feat/gossipsub-v1.1 2020-04-30 10:19:42 -07:00
Łukasz Magiera
81e3b714a2 gofmt 2020-04-30 12:51:19 +02:00
Łukasz Magiera
5ec76d4b7b support making deals with data directly from IPFS nodes 2020-04-30 01:56:45 +02:00
vyzo
43aca717d1 gossipsubv1.1: tweak score parameters 2020-04-29 23:15:29 +03:00
vyzo
7de882b4d0 gossipsubv1.1: use score parameter helpers 2020-04-29 22:50:51 +03:00
vyzo
f8f6e28985 fix linter complaint 2020-04-29 19:01:45 +03:00
vyzo
9570ebfe0a fix comparison logic for bootstrap peers 2020-04-29 18:56:58 +03:00
vyzo
667fb17b43 gossipsubv1.1: configure larger overlay D params 2020-04-29 17:09:39 +03:00
vyzo
7d7c83ef79 gossipsubv1.1: configure scores for bootstrapper PX 2020-04-29 17:03:41 +03:00
vyzo
6b56652768 gossipsubv1.1: score parameters and flood publishing 2020-04-29 16:41:44 +03:00
Jeromy
6a27c65201 updating to specs actors v0.2.0 2020-04-28 13:52:07 -07:00
Travis Person
c807469a5a bitswap: disable provider (#1620)
Co-authored-by: Travis Person <travisperson@users.noreply.github.com>
2020-04-27 15:54:16 -07:00
Aayush Rajasekaran
7c22dabb63 default to setting max piece size to sector size 2020-04-24 01:01:22 -04:00
Łukasz Magiera
e6ce6211de Merge remote-tracking branch 'origin/testnet/3' into feat/dht-upgrade 2020-04-24 00:50:23 +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
18f4e9d828 enable autonat service 2020-04-22 15:28:01 -07:00
Adin Schmahmann
9199c03f0d disable using the DHT to find provider records or arbitrary values 2020-04-22 11:13:26 -07:00
Adin Schmahmann
744a02eb5a update DHT options and use automatic DHT mode switching 2020-04-22 11:13:25 -07:00
Łukasz Magiera
b941b29fe5 miner: Use correct randomness for sealing 2020-04-20 20:33:53 +02:00
Łukasz Magiera
93b2b6d65d Merge branch 'testnet/3' into feat/windowed-post 2020-04-17 18:38:20 +02:00
Łukasz Magiera
bab352fb44 Wireup WinningPost validation 2020-04-17 16:47:19 +02: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
Jakub Sztandera
08e74a90f9 Add missing files
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-04-15 16:13:20 +02:00
Jeromy
4e6839b5ef some small cleanup 2020-04-14 15:13:52 -07:00
Jeromy
674be39af1 real drand network integration 2020-04-13 20:06:10 -07:00
Łukasz Magiera
5bf80a60f1 Get proof type in NewWinningPoStProver constructor 2020-04-13 23:25:46 +02:00
Łukasz Magiera
d3ffe48fcb Get things to mostly build 2020-04-10 23:29:05 +02:00
Łukasz Magiera
e053cd6b9c Merge remote-tracking branch 'origin/testnet/3' into feat/windowed-post 2020-04-10 23:09:01 +02:00
Łukasz Magiera
613e61222b mostly wire up WindowedPoSt 2020-04-10 23:07:18 +02:00
Łukasz Magiera
3426611340 Merge pull request #1526 from filecoin-project/feat/pass-deal-schedule-for-pre-commit-expiry-scheduling
provide deal scheduling info to FSM so that it can set pre-commit expiry
2020-04-10 23:05:50 +02:00
Łukasz Magiera
072dd8b744 Merge remote-tracking branch 'origin/testnet/3' into feat/windowed-post 2020-04-10 20:38:25 +02:00
Łukasz Magiera
0f0015f45c Merge pull request #1520 from filecoin-project/feat/graphsync-chainsync-extension
Update to latest go-fil-markets w/ enhanced Graphsync
2020-04-10 20:27:05 +02:00
laser
6dffe9377f provide deal scheduling info to FSM so that it can set pre-commit expiry 2020-04-10 08:22:28 -07:00
Jeromy
ef6fb1b756 rename beacon to randombeacon 2020-04-08 16:10:08 -07:00
hannahhoward
00cd89750d feat(deps): update fil-markets, graphsync
Updates dependencies for graphsync, fil-markets, data-transfer. Moves to new graphsync blockstore
swapping capabilities, and also locks down graphsync impl so it does not accept arbitrary requests
2020-04-07 23:25:29 -07:00
Jeromy
7075eaba26 WIP: random beacon interface
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-04-07 15:32:23 -07:00
Łukasz Magiera
e36f356908 wip changes for windowed post 2020-04-07 21:55:34 +02:00
Łukasz Magiera
5524241645 fpost -> windowPost renaming 2020-04-07 19:41:41 +02:00
laser
110c869dd3 cut over to storage-fsm, deleting local sealing package 2020-04-07 09:34:09 -07:00
laser
650a31b050 remove all lotus types from sealing package in preparation for extraction
events adapter

implement StateWaitMsg and StateComputeDataCommitment

implement StateGetSectorPreCommitOnChainInfo

implement ChainHead and SendMsg

implement remaining methods
2020-04-06 12:57:55 -07:00
Łukasz Magiera
f05be81275 fsm: Get correct interactive randomness if it lands on a nullblock 2020-04-04 04:57:05 +02:00
Łukasz Magiera
13f2c21e1d Get network name from genesis 2020-04-01 01:15:49 +02:00
Łukasz Magiera
95ee1c1cde Extract sector-storage 2020-03-28 01:32:39 +01:00
Łukasz Magiera
c66d3dfad7 sectorstorage: Untangle from lotus deps 2020-03-27 22:35:33 +01:00
Łukasz Magiera
e050e0307e Cleanup after dropping sectorbuilder 2020-03-26 20:35:16 +01:00
Łukasz Magiera
4be54a976c Merge sectorbuilder into sectorstorage 2020-03-26 03:51:06 +01:00
Łukasz Magiera
cfc65f525a sectorstorage: wire up closing logic 2020-03-25 00:52:55 +01:00
Łukasz Magiera
5de17e903c storageminer: Config for local worker task types 2020-03-24 20:38:00 +01:00
Łukasz Magiera
66a682b55d Merge remote-tracking branch 'origin/testnet/3' into feat/new-workers 2020-03-24 19:09:02 +01:00
Łukasz Magiera
726c9c1fe7 workers: Address review 2020-03-24 19:01:04 +01:00
Łukasz Magiera
5e4a7e54df Rename agvmgr+sealmgr to sectorstorage 2020-03-23 12:47:10 +01:00
hannahhoward
34f755b2b9 feat(chainsync): fixes to make graphsync work for chain fetching
- store to chain blockstore (ok for now, since storage provider is a seperate process)
- simplify request fetching and processing
2020-03-20 21:30:24 -07:00
whyrusleeping
1076a1a89d WIP: integrate graphsync for chainsync requests 2020-03-20 21:30:24 -07:00
Łukasz Magiera
1ed7779701 Merge remote-tracking branch 'origin/testnet/3' into feat/new-workers 2020-03-19 03:28:55 +01:00
laser
366db2f38c adjust import order as per PR feedback 2020-03-18 12:43:06 -07:00
laser
f59bf6fab1 wire up dtypes.ClientDatastore 2020-03-18 11:57:22 -07:00
Łukasz Magiera
5f2caffb51 Fix tests after specs-storage changes 2020-03-18 02:08:11 +01:00
hannahhoward
f259bc6a09 feat(graphsync): unified graphsync instance
setup a single graphsync that loads from both the chainstore & client blockstore
2020-03-17 17:25:12 -07:00
Łukasz Magiera
d8ce5078d9 Use new specs-storage interface 2020-03-17 21:19:52 +01:00
Łukasz Magiera
7e997e40f3 workers: Simple storage diagnostics 2020-03-16 18:50:07 +01:00
whyrusleeping
ab51c7e2d2 Fix fallback post scheduling to hopefully do the right thing 2020-03-08 00:19:38 -08:00
whyrusleeping
24bf720a9a Merge branch 'master' into testnet/3 2020-03-07 16:46:12 -08:00
Steven Allen
6992fd4dba chore(dep): update dependencies
Updates:

* cid, multihash, and multiaddr to ensure that minimal varints are used.
* log to deduplicate some code between version 2 and version 1.
* multistream to avoid writing from multiple threads.
* badger/datastore to harden prefix handling in queries.
* libp2p to 0.5.2

BREAKING:

The new libp2p version now formats addresses with /p2p instead of /ipfs. /ipfs
multiaddrs are still supported.
2020-03-05 16:28:42 -08:00
Łukasz Magiera
1461e475da storage: Support adding paths at runtime 2020-03-05 23:02:01 +01:00
Łukasz Magiera
7db1dd52bd storagemgr: Wire up most of AddPiece logic 2020-03-05 01:38:07 +01:00
Łukasz Magiera
799ff17c7c Merge remote-tracking branch 'origin/testnet/3' into feat/4stage-seal 2020-03-04 06:37:11 +01:00
whyrusleeping
37d5baf0b2 fix blocks topic 2020-03-03 21:03:35 -08:00
Łukasz Magiera
4e46d00eb6 Merge remote-tracking branch 'origin/testnet/3' into feat/4stage-seal 2020-03-04 04:01:13 +01:00
whyrusleeping
d6723935b9 fixup to match spec, move constants to common location 2020-03-03 15:48:25 -08:00
Łukasz Magiera
a0dbb6bdd6 Storage Manager refactor 2020-03-03 23:19:22 +01:00
lanzafame
4f2baa8953 conform protocol ids to spec
Signed-off-by: lanzafame <adrianlanzafame92@gmail.com>
2020-03-03 11:34:43 +10:00
whyrusleeping
00efd097c7 implement basic message filtering 2020-02-27 17:40:16 -08:00
whyrusleeping
d8dda1ee66 debugging test failure 2020-02-27 15:14:15 -08:00
whyrusleeping
df6e3e83bf make it all build finally 2020-02-27 13:45:31 -08: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
Łukasz Magiera
99c0e14fd8 Fix genesis writing 2020-02-22 13:03:41 +01:00
Łukasz Magiera
b12482df89 move peermgr, tracing into lib 2020-02-22 12:36:22 +01:00
Łukasz Magiera
111d35deef seed: New genesis creation commands 2020-02-21 21:57:00 +01:00
Łukasz Magiera
852e888232 cmd/lotus: Fix build 2020-02-21 19:00:10 +01:00
Łukasz Magiera
a6268f055d storageminer: Update api interfaces 2020-02-21 18:43:44 +01:00
Łukasz Magiera
69ec3c205a Merge remote-tracking branch 'origin/master' into testnet/3 2020-02-19 22:10:14 +01:00
Whyrusleeping
6afeb2e72b
Merge pull request #1268 from filecoin-project/feat/simple-spam-protection
basic gossip spam protection logic
2020-02-18 10:39:36 -08:00
whyrusleeping
4f6ec225cf mark peer for disconnection in connmgr 2020-02-18 09:20:17 -08:00
Aayush Rajasekaran
60970008c8 Re: #1250: API methods should receive TipSetKeys, not TipSets, as input 2020-02-17 19:53:43 -05:00
Whyrusleeping
1c9072bf6e
Merge pull request #1235 from filecoin-project/feat/tls
Prefer tls
2020-02-17 11:26:50 -08:00
Jakub Sztandera
8af80169c0 Add graphsync
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-02-17 18:15:30 +01:00
whyrusleeping
1dafcf24f1 basic gossip spam protection logic 2020-02-16 21:51:18 -08:00
Łukasz Magiera
36aed6f871 Update cbor-gen 2020-02-13 02:37:28 +01:00
Łukasz Magiera
e1a593c22e Rename paych -> paychmgr to fix cbor-gen 2020-02-13 01:28:23 +01:00
Jakub Sztandera
49167cc55f
Expose JWT permission error
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-02-12 21:25:29 +01:00
Łukasz Magiera
63e801e00f genesis: Cleanup the structure 2020-02-11 21:48:03 +01:00
Łukasz Magiera
c72727b4fd specs-actors: Fix most compilation errors 2020-02-09 07:06:32 +01:00
Jakub Sztandera
352fb9f9ea
Prefer tls
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-02-07 14:04:47 +01:00
hannahhoward
d2c5d81e59 fix(deps): update go-fil-markets
update go-fil-markets to latest to solve an issue with retrieval
2020-02-05 18:48:47 -08:00
Łukasz Magiera
0e81c1cf7e Merge branch 'testnet/3' into feat/update-markets 2020-02-04 07:17:22 +01:00
Łukasz Magiera
90ecfbe0e4 Merge branch 'master' into feat/new-sb-fs 2020-02-04 04:15:25 +01:00
laser
d8f5330c29 don't consume short-lived context 2020-02-03 15:48:11 -08:00
laser
ea2f53745e split FPoStScheduler from Miner
Rationale: Nodes want to handle scheduling of PoSts. Splitting the 
FPoStScheduler from the Miner allows nodes to reuse the Miner w/out 
having to reuse the PoSt scheduler.
2020-02-03 15:48:11 -08:00
Łukasz Magiera
a62572bb76 Merge remote-tracking branch 'origin/master' into feat/new-sb-fs 2020-01-31 08:36:47 +01:00
Łukasz Magiera
aefc463586 build: Lazy ParametersJson 2020-01-30 23:50:24 +01:00
Łukasz Magiera
3f58ffe572 storageminer: New storage config 2020-01-29 20:53:45 +01:00
Łukasz Magiera
5af64c53b6 initial sectorbuilder FS refactor integration 2020-01-29 00:08:02 +01:00
hannahhoward
71289b58ff feat(markets): update to support car files
Upgrades lotus version of go-fil-markets to its head, which supports car files and handles tracking
of pieces, reducing the size of sectorBlocks
2020-01-28 14:08:13 -08:00
Łukasz Magiera
d4c50b8ea0 sealing: gofmt 2020-01-16 03:54:57 +01:00
Łukasz Magiera
604bf64ef6 Move miner sealing logic into a separate package 2020-01-15 21:49:11 +01:00
Łukasz Magiera
2ca0c152ba Deal tests on mock sectorbuilder 2020-01-14 03:05:46 +01:00
Łukasz Magiera
a2bcc1fec2 Mostly functional mock sectorbuilder 2020-01-14 03:05:35 +01:00
whyrusleeping
fefd21ad9c remove private network and put dht into a sub namespace 2020-01-13 15:29:06 -08:00
Łukasz Magiera
a896b30039 gofmt 2020-01-10 20:55:58 +01:00
Łukasz Magiera
50bac00329 Merge branch 'master' into feat/testnet2 2020-01-10 20:55:40 +01:00
hannahhoward
0ce1bf706b refactor(markets): reorg file structure 2020-01-10 10:33:26 -08:00
hannahhoward
56653eeca6 fix(storagemarket): fix compile errors 2020-01-10 10:01:48 -08:00
hannahhoward
65ecb33630 feat(storagemarket): extract storage market
remove all shared components, point at go-fil-components repo
2020-01-10 09:49:07 -08:00
hannahhoward
0a4eeb7cb1 refactor(retrievalmarket): switch to go-fil-markets repo
Switch go-fil-components to go-fil-markets
2020-01-10 09:13:12 -08:00
hannahhoward
ccf359d057 feat(retrieval): extract retrievalmarket
Extract retrieval market and modify shared types
2020-01-09 19:46:07 -08:00
hannahhoward
da4528932a feat(storagemarket): initial extraction
Types for storage market

Modify deals.Provider to implement storagemarket.StorageProvider

Inject storagemarket.StorageProvider

Storage Provider interfaces

Storage Client interfaces

Add ValidatePublishedDeal to ClientNodeAdapter

Remove FundManager from client

Remove Wallet from client

Remove StateManager, Events, Wallet from client

Rebasing

- Copy types.BigInt, use TokenAmount/BigInt for token amounts
- Remove auto-imported log package
- Move `checkAskSignature` to a client file.
- Plumb contexts through

fix(storagemarket): use publish cids

Switch back to publish message cids to reduce the dependency surface area
2020-01-10 03:29:46 +01:00
Łukasz Magiera
5f460b380d
Merge pull request #1045 from filecoin-project/feat/mock-sectorbuilder
WIP: implement mock sectorbuilder for easier storage miner testing
2020-01-10 01:33:43 +01:00
Łukasz Magiera
f0f8d83980
Merge pull request #826 from filecoin-project/feat/retrieval-market-skeleton
Retrieval Market Cleanup W/ Node Interfaces
2020-01-09 22:06:46 +01:00
Łukasz Magiera
fac47bfc54 Pass correct datastore into sectorbuilder 2020-01-09 14:23:44 +01:00
whyrusleeping
cc56389dbb attempt to fix the DI loading, still not working 2020-01-08 20:51:18 -08:00
Łukasz Magiera
8cbcbbd7a4 Merge branch 'feat/testnet2' of github.com:filecoin-project/go-lotus into feat/testnet2 2020-01-08 22:44:54 +01:00
hannahhoward
5b74a71dd3 feat(retrievalmarket): extract skeleton interfaces
Define all types to spec, modify interfaces, wrap old code

fix(builder): use client blockstore for retrieval

feat(retrieval): add node implementations

add node adapters for client & provider so that retrieval can be extracted
2020-01-08 12:45:43 -08:00
Łukasz Magiera
da38822dfd paramfetch: bring parameters.json back to this repo 2020-01-08 21:31:35 +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
hannahhoward
5312340bf9 refactor(datatransfer): use independent repo
Use independent repo for go-data-transfer
2020-01-08 14:20:31 +01:00
hannahhoward
61e2568b8d feat(datatransfer): implement and extract
feat(datatransfer): setup implementation path

Sets up a path to implementation, offering both the dagservice implementation and a future graphsync
implement, establishes message interfaces and network layer, and isolates the datatransfer module
from the app

WIP using CBOR encoding for dataxfermsg

* Bring cbor-gen stuff into datatransfer package
* make transferRequest private struct
* add transferResponse + funcs
* Rename VoucherID to VoucherType
* more tests passing

WIP trying out some stuff
* Embed request/response in message so all the interfaces work AND the CBOR unmarshaling works: this is more like the spec anyway
* get rid of pb stuff

all message tests passing, some others in datatransfer

Some cleanup for PR

Cleanup for PR, clarifying and additional comments

mod tidy

Respond to PR comments:
* Make DataTransferRequest/Response be returned in from Net
* Regenerate cbor_gen and fix the generator caller so it works better
* Please the linters

Fix tests

Initiate push and pull requests (#536)

* add issue link for data TransferID generation
* comment out failing but not relevant tests
* finish voucher rename from Identifier --> Type

tests passing

cleanup for PR

remove unused fmt import in graphsync_test

a better reflection

send data transfer response

other tests passing

feat(datatransfer): milestone 2 infrastructure

Setup test path for all tickets for milestone 2

responses alert subscribers when request is not accepted (#607)

Graphsync response is scheduled when a valid push request is received (#625)

fix(datatransfer): fix tests

fix an error with read buffers in tests

fix(deps): fix go.sum

Feat/dt graphsync pullreqs (#627)

* graphsync responses to pull requests

Feat/dt initiator cleanup (#645)

* ChannelID.To --> ChannelID.Initiator
* We now store our peer ID (from host.ID()) so it can be used when creating ChannelIDs.
* InProgressChannels returns all of impl.channels, currently just for testing
* Implements go-data-transfer issue
* Some assertions were changed based on the above.
* Renamed some variables and added some assertions based on the new understanding
* Updated SHA for graphsync module
* Updated fakeGraphSync test structs to use new interfaces from new SHA above

Techdebt/dt split graphsync impl receiver (#651)

* Split up graphsyncImpl and graphsyncReceiver
* rename graphsync to utils

DTM sends data over graphsync for validated push requests (#665)

* create channels when a request is received. register push request hook with graphsync. fix tests.
* better NewReaders
* use mutex lock around impl.channels access
* fix(datatransfer): fix test uncertainty
* fix a data race and also don't use random bytes in basic block which can fail
* privatize 3 funcs

with @hannahhoward

Feat/dt gs pullrequests (#693)

* Implements DTM Sends Data Over Graphsync For Validated Pull Requests
* rename a field in a test struct
* refactor a couple of private functions (one was refactored out of existence)

Feat/dt subscribe, file Xfer round trip (#720)

Implements the rest of Subscriber Is Notified When Request Completed #24:
* send a graphsync message within a go func and consume responses until error or transfer is complete.
* notify subscribers of results.
* Rename datatransfer.Event to EventCode.
* datatransfer.Event is now a struct that includes a message and a timestamp as well as the Event.Code int, formerly Event, update all uses
* Add extension data to graphsync request hook, gsReq
* rename sendRequest to sendDtRequest, to distinguish it from sendGsRequest, where Dt = datatransfer, Gs = graphsync
* use a mutex lock for last transfer ID
* obey the linter

Don't respond with error in gsReqRcdHook when we can't find the datatransfer extension. (#754)

* update to correct graphsync version, update tests & code to call the new graphsync hooks
* getExtensionData returns an empty struct + nil if we can't find our extension
* Don't respond with error when we can't find the extension.
* Test for same
* mod tidy

minor fix to go.sum

feat(datatransfer): switch to graphsync implementation

Move over to real graphsync implementation of data transfer, add constructors for graphsync
instances on client and miner side

fix(datatransfer): Fix validators

Validators were checking payload cid against commP -- which are not the same any more. Added a
payloadCid to client deal to maintain the record, fixed validator logic

Feat/dt extraction use go-fil-components/datatransfer (#770)

* Initial commit after changing to go-fil-components/datatransfer
* blow away the datatransfer dir
* use go-fil-components master after its PR #1 was merged
* go mod tidy

use a package

updates after rebase with master
2020-01-08 14:19:28 +01:00
laser
20321bb476 handle rebase 2020-01-07 08:18:35 -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
hannahhoward
8418464d91 refactor(address): use extracted address library
Switch to using extracted address library
2020-01-07 14:53:27 +01:00
laser
6a740a6d67 consume newly-extracted paramfetch 2020-01-02 11:08:49 -08:00
whyrusleeping
e5899f614a Tag peers who send us good blocks over pubsub 2019-12-19 12:47:55 -08:00
Łukasz Magiera
a4521955d5 libp2p: enable ping 2019-12-18 20:33:13 +01:00
whyrusleeping
619e6ffdd7 fix master build 2019-12-17 14:20:37 -08:00
whyrusleeping
ff5b086f58 mark bootstrap peers as protected 2019-12-17 11:18:19 -08:00
whyrusleeping
ca7e2e76c2 drop miner tagger logic as it doesnt do what we want it to 2019-12-17 10:16:10 -08:00
Łukasz Magiera
8284436eae Setup PeerTagger as Invoke 2019-12-17 17:28:02 +01:00
Łukasz Magiera
241c7c7ecc Wire up ConnMgr config 2019-12-17 17:09:43 +01:00
whyrusleeping
7dcc528cd1 tag peers who propagate good blocks to us 2019-12-16 23:06:48 -08:00
whyrusleeping
022581d50b add routine to tag miners peer IDs as high value in connection manager 2019-12-16 22:51:41 -08:00
whyrusleeping
28b470cb0d blocksync tagging 2019-12-16 22:15:06 -08:00
whyrusleeping
eb4077b1af allow specifying some protected peers in the config file 2019-12-16 21:37:31 -08:00
Łukasz Magiera
825e3a0774 sectorbuilder: check free space before creating sectors 2019-12-16 17:16:08 +01:00
whyrusleeping
d6bfbe5a26 allow setting genesis timestamp when initializing network 2019-12-11 15:36:39 +01:00
Łukasz Magiera
ce6912047d Change pnet key 2019-12-10 23:11:45 +01:00
whyrusleeping
b444771427 setup enough fake peer IDs for miner generation 2019-12-09 19:56:55 +01:00
Łukasz Magiera
c49dc28a04 Move api struct to a seprate pkg 2019-12-09 18:22:11 +01:00
Łukasz Magiera
83924e6b97
sectorbuilder: Allow to restrict task types
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-12-07 19:05:15 +01:00
Łukasz Magiera
6f024bee58
Merge pull request #736 from filecoin-project/feat/params-v20
Params v20
2019-12-05 14:03:37 +01:00
whyrusleeping
b7a89b56b3 more statticcheck! 2019-12-04 21:14:19 -08:00
whyrusleeping
df069af5e5 some errcheck discoveries 2019-12-04 21:02:14 -08:00
Łukasz Magiera
3daf9103a8 paramfetch: Only pull necessary params 2019-12-04 20:44:15 +01:00
Łukasz Magiera
160e11ce8c Merge branch 'master' into feat/remote-workers 2019-12-03 03:24:00 +01:00
whyrusleeping
68e25b36f1 rename to avoid stuttering 2019-12-02 14:33:11 -08:00
whyrusleeping
b58e7344e8 pull messagepool into separate package 2019-12-02 14:33:11 -08:00
whyrusleeping
8da3cc875e Fix message nonce tracking during head changes 2019-12-02 14:33:11 -08:00
Łukasz Magiera
923748e551 Expand paths in node init 2019-12-02 23:10:22 +01:00
Łukasz Magiera
d5b94884c8 Buch of lint fixes 2019-12-02 13:51:16 +01:00
Łukasz Magiera
a47fbfa799 Merge branch 'devnet/9' into feat/election-post 2019-12-02 12:25:23 +01:00
Łukasz Magiera
a59d0f0f8c Fix unsealing, sector based data refs 2019-12-01 18:58:31 +01:00
Łukasz Magiera
ed9279cf0c Some fixes and dev utils 2019-11-30 10:25:31 +01:00
whyrusleeping
3b533ed76c Genesis miner config actually sets the created miner address now 2019-11-29 22:31:26 -06:00
Łukasz Magiera
cb7d15e67e genesis setup improvements 2019-11-28 23:50:58 +01:00
Łukasz Magiera
16d5eea9b1
Merge pull request #684 from gguoss/master
Delete died code
2019-11-28 14:21:21 +01:00
郭光华
a8093c2962
Delete died code
Lotus used kad dht as discovery protocol, not mdns .
2019-11-28 18:06:00 +08:00
Łukasz Magiera
23e0008b81 Merge remote-tracking branch 'origin/master' into feat/election-post 2019-11-27 13:31:44 +01:00
Łukasz Magiera
d5a632f644 sectorbuilder: Drop stateful sectorbuilder refs 2019-11-26 23:13:01 +01:00
whyrusleeping
a0588d513d Add lotus-gen, rewire genesis mining 2019-11-24 22:45:13 -06:00
Łukasz Magiera
43a5172944 mpool: persist local messages 2019-11-23 20:05:18 +01:00
Łukasz Magiera
2deae35dcc
Merge pull request #672 from filecoin-project/feat/no-pkg-error
Swtich to xerrors
2019-11-22 12:40:59 -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
Łukasz Magiera
c7c422abbd Use config for pubsub tracing 2019-11-20 21:31:00 +01:00
whyrusleeping
f8eabd3db4 Refactor mining logic to match specs ticket chain 2019-11-20 10:52:36 -06:00
vyzo
3a8100fd3c hardcode pubsub tracer 2019-11-20 01:31:55 +02:00
whyrusleeping
7aa76d21d1 It works! 2019-11-15 13:35:29 -08:00
Jakub Sztandera
2bc5ccab04
Add repub for local messages
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-11-13 23:43:16 +01:00
anorth
84a4766d8f Add TipSetKey as a concatenation of block CIDs, and use if for ChainGetTipSet, ChainGetRandomness. 2019-11-13 15:23:37 +11:00
hannahhoward
4b3bab371b refactor(deals): move type instantiation to modules
Move all type instantiation to dtypes & modules for any type unique to provider/client
2019-11-11 12:51:28 -08:00
hannahhoward
ccfc3c5b19 refactor(datatransfer): move registrations to builder
move registration function for validators to builder code
2019-11-11 12:25:19 -08:00
whyrusleeping
904fdad4c6 extract blocksync into its own package 2019-11-09 15:00:22 -08:00
Łukasz Magiera
3d360167df sectorbuilder: Call destroy in DI module 2019-11-08 21:30:50 +01:00
Łukasz Magiera
2d26a4edf7 Sector storage refactor 2019-11-07 19:22:59 +01:00
whyrusleeping
9863942fe2 WIP: trying to write a test to reproduce the storage deal error 2019-11-07 00:39:34 +01:00
Łukasz Magiera
ed5ccfd750 Merge remote-tracking branch 'origin/devnet/7' into feat/interactive-porep 2019-11-05 18:53:19 +01:00
Łukasz Magiera
13da5a5966 Put WorkerThreads on sectorbuilder.Config 2019-11-04 17:47:08 +01:00
Łukasz Magiera
3bc4a5dddf More progress on fixing storing garbage data 2019-11-02 00:43:54 +01:00
Łukasz Magiera
82344649d3 Use state store for sectors 2019-11-01 15:06:49 +01:00
whyrusleeping
fc9091cc89 Get interactive porep sector sealing mostly working 2019-10-31 20:57:10 -07:00
whyrusleeping
a954ebc6b6 Add command to unregister miner from full node manually 2019-10-31 15:04:13 -07:00
whyrusleeping
759094198c Some more progress on interactive porep 2019-10-30 18:22:50 -07:00
Łukasz Magiera
7fa3e2db7a WIP Interactive PoRep 2019-10-30 19:10:29 +01:00
Łukasz Magiera
46d782b30b storageminer: Drop commitment tracker 2019-10-30 18:37:38 +01:00
Łukasz Magiera
ac98c8f451 Use spec complaiant SealRandomnessLookback 2019-10-28 18:14:24 +01:00
Łukasz Magiera
c1076a0c7d set correct block height in SealTicket 2019-10-27 10:24:20 +01:00
Łukasz Magiera
117ec636c5 paramfetch: check checksums in parallel 2019-10-27 10:18:27 +01:00
Łukasz Magiera
874be79958 very basic sector seal scheduling 2019-10-27 09:56:53 +01:00
whyrusleeping
4890f577f5 give miners the ability to select different sector sizes 2019-10-25 17:26:15 +02:00
Łukasz Magiera
eeca3d86df
Merge pull request #415 from filecoin-project/feat/deals-on-chain
On-Chain deals
2019-10-25 17:03:25 +02:00
Łukasz Magiera
5175d8541e peer manager: Handle bootstrap in peermgr 2019-10-23 13:11:18 +02:00
whyrusleeping
fc7c7ddd97 Initial pass at a peer manager 2019-10-23 12:47:22 +02:00
Łukasz Magiera
46a0333c9c on chain deals: Wip porting deal systems to storagemarket 2019-10-23 12:44:00 +02: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
d818e20df5 Wallets record default address in keystore 2019-10-17 19:18:40 +09:00
Łukasz Magiera
170b49b625 make: fix install, faster bootstrap 2019-10-17 03:24:45 +02:00
Łukasz Magiera
9a536e7cc0 config: Allow overriding bootstrap peers 2019-10-11 05:16:12 +02:00
Łukasz Magiera
40267e15b2
Merge pull request #326 from filecoin-project/feat/periodic-bootstrap
Periodic bootstrap
2019-10-11 04:09:01 +02:00
Łukasz Magiera
c0179bd4fa Periodic bootstrap 2019-10-11 02:31:26 +02:00
Łukasz Magiera
4c5157d270 Lotus Townhall 2019-10-10 14:02:43 +02:00
Łukasz Magiera
b32d197bca
Merge pull request #313 from filecoin-project/fix/genesis-timestamp
Fix timestamp in genesis
2019-10-10 04:18:58 +02:00
Jakub Sztandera
79ee959a90
Use log.Warn
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-10-09 22:23:04 +02:00
Jakub Sztandera
22ad0e176d
Fix timestamp in genesis
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-10-09 19:08:06 +02:00
Łukasz Magiera
1534536590 Store libp2p key in keystore 2019-10-03 02:11:31 +02:00
Łukasz Magiera
fe8e1fe1e4 Almost working new post code 2019-09-27 01:07:40 +02:00
whyrusleeping
0a0a4d30aa fix account balances to cover costs and collateral 2019-09-26 12:23:03 -07:00
Łukasz Magiera
a2a2169ef8 Setup first devnet params 2019-09-26 12:13:43 -07:00
Łukasz Magiera
5fa1a74e74 Bump test genesis token amount 2019-09-24 13:02:54 +02:00
whyrusleeping
3154374132 fix account balances to make tests pass 2019-09-19 22:25:10 -07:00
Łukasz Magiera
83f1a336a6 node: Basic graceful shutdown 2019-09-17 16:23:08 +02:00
Łukasz Magiera
eda72468ce Sector Commitment tracker 2019-09-16 20:08:24 +02:00
whyrusleeping
1075c9a5e0 implement ask query protocol 2019-09-13 16:49:27 -07:00
Łukasz Magiera
72a406ec7e deals: Better client deal tracking 2019-09-13 19:59:10 +02:00
whyrusleeping
ed45d1c2b4 refactor state utilities into StateManager package, implement proper election proofs 2019-09-09 19:14:00 -07: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
fe6d5ff3a8 retrieval: resolve some TODOs 2019-08-29 17:51:52 +02:00
Łukasz Magiera
6714240653 SectorSize const 2019-08-29 17:50:19 +02:00
Łukasz Magiera
be30bc79a5 Retrieval works! 2019-08-29 17:50:19 +02:00
Łukasz Magiera
28d3eb38eb basic retrieval content discovery 2019-08-29 17:48:19 +02:00
Łukasz Magiera
eda26faf21 Register miner address from storageminer process 2019-08-20 19:19:24 +02:00
whyrusleeping
b2d425b891 TEMP: accept miner address from cli 2019-08-16 12:39:13 -07:00
whyrusleeping
e9d1f3e7c9 WIP: base mining on power and VRFs 2019-08-16 12:39:12 -07:00
Łukasz Magiera
e6493afd46 move poller to sector store 2019-08-14 23:34:43 +02:00
Łukasz Magiera
399f91940b Sector store 2019-08-14 22:27:32 +02:00
whyrusleeping
ae34757e2a pull chain call into its own method and fix paych module 2019-08-12 11:30:20 -07:00
whyrusleeping
6d52abcb2e WIP: wiring up the payment channel manager to the api 2019-08-12 10:54:17 -07:00
whyrusleeping
959fe371b0 move storage miner keys to full node 2019-08-08 10:56:14 -07:00
Łukasz Magiera
b2c3434bcd deals: Upstream bitswap changes 2019-08-08 19:16:41 +02:00
Łukasz Magiera
7423327b26 deals: Use real data in client 2019-08-07 20:01:51 -07:00
Łukasz Magiera
c79cb7bf31 deals: Almost sealing client data 2019-08-07 20:01:51 -07:00
Łukasz Magiera
b65041cac1 deals: Sending initial proposal works 2019-08-07 20:01:22 -07:00
Łukasz Magiera
ad9e433232 Start implementing storage deals 2019-08-07 20:00:49 -07:00
whyrusleeping
ba0d648546 sealing garbage data into a sector that gets accepted by the chain works! 2019-08-07 18:16:58 -07:00
whyrusleeping
5c32725510 sector commitments make it all the way to the chain 2019-08-07 16:22:35 -07:00
whyrusleeping
ff3433baa1 fix chain progression after restarting process 2019-08-01 23:46:14 -07:00
Łukasz Magiera
cfc3ac795d Fix tests 2019-08-01 16:26:12 +02:00
Łukasz Magiera
542f645c28 gofmt 2019-08-01 16:20:50 +02:00
Łukasz Magiera
9ae450620a Cleanup node/modules 2019-08-01 16:19:53 +02:00
Łukasz Magiera
6a4b9a6515 More separation for storage types in di modules 2019-08-01 16:14:16 +02:00
Łukasz Magiera
cdf0e0c858 chain: Test 'manual' sync 2019-07-31 10:43:13 -07:00
Łukasz Magiera
006fbe556f Use correct ctx for SectorBuilder/Miner 2019-07-31 19:01:04 +02:00
whyrusleeping
ee224e5b21 Implement 'storage miner' module, wire up a few bits it needs to start 2019-07-29 17:46:56 -07:00
whyrusleeping
b83ff6b9dc Wire up sector builder commands through the api 2019-07-29 12:08:47 -07:00
whyrusleeping
4fb4835b35 can we store it? YES WE CAN 2019-07-29 12:08:47 -07:00
whyrusleeping
f1432826d5 start integrating sector builder 2019-07-29 12:08:05 -07:00
whyrusleeping
71baa5cbfe implement chain generator 2019-07-26 13:47:29 -07:00
Łukasz Magiera
590b5f0299 Allocate funds in testing.MakeGenesis 2019-07-26 14:51:32 +02:00
whyrusleeping
78da356752 pull more things apart 2019-07-26 13:49:30 +02:00