Merge master into feat/nv13

This commit is contained in:
Łukasz Magiera
2021-05-27 12:28:20 +02:00
350 changed files with 28302 additions and 3610 deletions
@@ -197,7 +197,7 @@ Response:
```json
{
"Version": "string value",
"APIVersion": 66048,
"APIVersion": 131328,
"BlockDelay": 42
}
```
@@ -145,7 +145,7 @@ Perms: admin
Inputs: `null`
Response: `66048`
Response: `131328`
## Add
@@ -57,6 +57,7 @@
* [ClientRetrieveTryRestartInsufficientFunds](#ClientRetrieveTryRestartInsufficientFunds)
* [ClientRetrieveWithEvents](#ClientRetrieveWithEvents)
* [ClientStartDeal](#ClientStartDeal)
* [ClientStatelessDeal](#ClientStatelessDeal)
* [Create](#Create)
* [CreateBackup](#CreateBackup)
* [Gas](#Gas)
@@ -276,7 +277,7 @@ Response:
```json
{
"Version": "string value",
"APIVersion": 66048,
"APIVersion": 131328,
"BlockDelay": 42
}
```
@@ -1501,6 +1502,39 @@ Inputs:
Response: `null`
### ClientStatelessDeal
ClientStatelessDeal fire-and-forget-proposes an offline deal to a miner without subsequent tracking.
Perms: write
Inputs:
```json
[
{
"Data": {
"TransferType": "string value",
"Root": {
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
},
"PieceCid": null,
"PieceSize": 1024,
"RawBlockSize": 42
},
"Wallet": "f01234",
"Miner": "f01234",
"EpochPrice": "0",
"MinBlocksDuration": 42,
"ProviderCollateral": "0",
"DealStartEpoch": 10101,
"FastRetrieval": true,
"VerifiedDeal": true
}
]
```
Response: `null`
## Create
@@ -4943,7 +4977,8 @@ Response:
"FilMined": "0",
"FilBurnt": "0",
"FilLocked": "0",
"FilCirculating": "0"
"FilCirculating": "0",
"FilReserveDisbursed": "0"
}
```
File diff suppressed because it is too large Load Diff
+171
View File
@@ -0,0 +1,171 @@
# lotus-worker
```
NAME:
lotus-worker - Remote miner worker
USAGE:
lotus-worker [global options] command [command options] [arguments...]
VERSION:
1.11.0-dev
COMMANDS:
run Start lotus worker
info Print worker info
storage manage sector storage
set Manage worker settings
wait-quiet Block until all running tasks exit
tasks Manage task processing
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--worker-repo value, --workerrepo value Specify worker repo path. flag workerrepo and env WORKER_PATH are DEPRECATION, will REMOVE SOON (default: "~/.lotusworker") [$LOTUS_WORKER_PATH, $WORKER_PATH]
--miner-repo value, --storagerepo value Specify miner repo path. flag storagerepo and env LOTUS_STORAGE_PATH are DEPRECATION, will REMOVE SOON (default: "~/.lotusminer") [$LOTUS_MINER_PATH, $LOTUS_STORAGE_PATH]
--enable-gpu-proving enable use of GPU for mining operations (default: true)
--help, -h show help (default: false)
--version, -v print the version (default: false)
```
## lotus-worker run
```
NAME:
lotus-worker run - Start lotus worker
USAGE:
lotus-worker run [command options] [arguments...]
OPTIONS:
--listen value host address and port the worker api will listen on (default: "0.0.0.0:3456")
--no-local-storage don't use storageminer repo for sector storage (default: false)
--no-swap don't use swap (default: false)
--addpiece enable addpiece (default: true)
--precommit1 enable precommit1 (32G sectors: 1 core, 128GiB Memory) (default: true)
--unseal enable unsealing (32G sectors: 1 core, 128GiB Memory) (default: true)
--precommit2 enable precommit2 (32G sectors: all cores, 96GiB Memory) (default: true)
--commit enable commit (32G sectors: all cores or GPUs, 128GiB Memory + 64GiB swap) (default: true)
--parallel-fetch-limit value maximum fetch operations to run in parallel (default: 5)
--timeout value used when 'listen' is unspecified. must be a valid duration recognized by golang's time.ParseDuration function (default: "30m")
--help, -h show help (default: false)
```
## lotus-worker info
```
NAME:
lotus-worker info - Print worker info
USAGE:
lotus-worker info [command options] [arguments...]
OPTIONS:
--help, -h show help (default: false)
```
## lotus-worker storage
```
NAME:
lotus-worker storage - manage sector storage
USAGE:
lotus-worker storage command [command options] [arguments...]
COMMANDS:
attach attach local storage path
help, h Shows a list of commands or help for one command
OPTIONS:
--help, -h show help (default: false)
--version, -v print the version (default: false)
```
### lotus-worker storage attach
```
NAME:
lotus-worker storage attach - attach local storage path
USAGE:
lotus-worker storage attach [command options] [arguments...]
OPTIONS:
--init initialize the path first (default: false)
--weight value (for init) path weight (default: 10)
--seal (for init) use path for sealing (default: false)
--store (for init) use path for long-term storage (default: false)
--max-storage value (for init) limit storage space for sectors (expensive for very large paths!)
--help, -h show help (default: false)
```
## lotus-worker set
```
NAME:
lotus-worker set - Manage worker settings
USAGE:
lotus-worker set [command options] [arguments...]
OPTIONS:
--enabled enable/disable new task processing (default: true)
--help, -h show help (default: false)
```
## lotus-worker wait-quiet
```
NAME:
lotus-worker wait-quiet - Block until all running tasks exit
USAGE:
lotus-worker wait-quiet [command options] [arguments...]
OPTIONS:
--help, -h show help (default: false)
```
## lotus-worker tasks
```
NAME:
lotus-worker tasks - Manage task processing
USAGE:
lotus-worker tasks command [command options] [arguments...]
COMMANDS:
enable Enable a task type
disable Disable a task type
help, h Shows a list of commands or help for one command
OPTIONS:
--help, -h show help (default: false)
--version, -v print the version (default: false)
```
### lotus-worker tasks enable
```
NAME:
lotus-worker tasks enable - Enable a task type
USAGE:
lotus-worker tasks enable [command options] [UNS|C2|PC2|PC1|AP]
OPTIONS:
--help, -h show help (default: false)
```
### lotus-worker tasks disable
```
NAME:
lotus-worker tasks disable - Disable a task type
USAGE:
lotus-worker tasks disable [command options] [UNS|C2|PC2|PC1|AP]
OPTIONS:
--help, -h show help (default: false)
```
File diff suppressed because it is too large Load Diff
+14 -1
View File
@@ -12,7 +12,20 @@ Currently it is set up to use Jaeger, though other tracing backends should be fa
To easily run and view tracing locally, first, install jaeger. The easiest way to do this is to [download the binaries](https://www.jaegertracing.io/download/) and then run the `jaeger-all-in-one` binary. This will start up jaeger, listen for spans on `localhost:6831`, and expose a web UI for viewing traces on `http://localhost:16686/`.
Now, to start sending traces from Lotus to Jaeger, set the environment variable `LOTUS_JAEGER` to `localhost:6831`, and start the `lotus daemon`.
Now, to start sending traces from Lotus to Jaeger, set the environment variable and start the daemon.
```bash
export LOTUS_JAEGER_AGENT_ENDPOINT=127.0.0.1:6831
lotus daemon
```
Alternatively, the agent endpoint can also be configured by a pair of environemnt variables to provide the host and port. The following snipit is functionally equivilent to the previous.
```bash
export LOTUS_JAEGER_AGENT_HOST=127.0.0.1
export LOTUS_JAEGER_AGENT_PORT=6831
lotus daemon
```
Now, to view any generated traces, open up `http://localhost:16686/` in your browser.
@@ -0,0 +1,115 @@
> Release Issue Template
# Lotus X.Y.Z Release
We're happy to announce Lotus X.Y.Z...
## 🗺 Must-dos for the release
## 🌟 Nice-to-haves for the release
<List of items with PRs and/or Issues to be considered for this release>
## 🚢 Estimated shipping date
<Date this release will ship on if everything goes to plan (week beginning...)>
## 🔦 Highlights
< top highlights for this release notes >
## ✅ Release Checklist
First steps:
- [ ] Fork a new branch (`release/vX.Y.Z`) from `master` and make any further release related changes to this branch. If any "non-trivial" changes get added to the release, uncheck all the checkboxes and return to this stage.
- [ ] Prep the changelog using `scripts/mkreleaselog`, and add it to `CHANGELOG.md`
- [ ] Bump the version in `version.go` in the `master` branch to `vX.(Y+1).0-dev`.
Prepping an RC:
- [ ] version string in `build/version.go` has been updated (in the `release/vX.Y.Z` branch).
- [ ] tag commit with `vX.Y.Z-rcN`
- [ ] cut a pre-release [here](https://github.com/filecoin-project/lotus/releases/new?prerelease=true)
Testing an RC:
- [ ] **Stage 0 - Automated Testing**
- Automated Testing
- [ ] CI: Ensure that all tests are passing.
- [ ] Testground tests
- [ ] **Stage 1 - Internal Testing**
- Upgrade our testnet infra
- [ ] 1 bootstrap node
- [ ] 1 miner
- [ ] Scratch nodes
- [ ] Wait 24 hours, confirm nodes stay in sync
- [ ] Remaining testnet infra
- Upgrade our mainnet infra
- [ ] Subset of development full archival nodes
- [ ] Subset of bootstrappers (1 per region)
- [ ] Confirm nodes stay in sync
- Metrics report
- Block validation time
- Memory / CPU usage
- Number of goroutines
- IPLD block read latency
- Bandwidth usage
- [ ] If anything has worsened significantly, investigate + fix
- Confirm the following work (some combination of Testground / Calibnet / Mainnet / beta users)
- [ ] Seal a sector
- [ ] make a deal
- [ ] Submit a PoSt
- [ ] (optional) let a sector go faulty, and see it be recovered
- [ ] **Stage 2 - Community Testing**
- [ ] Inform beta miners (@lotus-early-testers-miner in Filecoin Slack #fil-lotus)
- [ ] Ask close ecosystem partners to test their projects (@lotus-early-testers-eco-dev in Filecoin slack #fil-lotus)
- [ ] Powergate
- [ ] Glif
- [ ] Zondax
- [ ] Stats dashboard
- [ ] Community dashboards
- [ ] Infura
- [ ] Sentinel
- [ ] Protofire
- [ ] Fleek
- [ ] **Stage 3 - Community Prod Testing**
- [ ] Documentation
- [ ] Ensure that [CHANGELOG.md](https://github.com/filecoin-project/lotus/blob/master/CHANGELOG.md) is up to date
- [ ] Check if any [config](https://docs.filecoin.io/get-started/lotus/configuration-and-advanced-usage/#configuration) updates are needed
- [ ] Invite the wider community through (link to the release issue):
- [ ] Check `Create a discussion for this release` when tagging for the major rcs(new features, hot-fixes) release
- [ ] Link the disucssion in #fil-lotus on Filecoin slack
- [ ] **Stage 4 - Release**
- [ ] Final preparation
- [ ] Verify that version string in [`version.go`](https://github.com/ipfs/go-ipfs/tree/master/version.go) has been updated.
- [ ] Ensure that [CHANGELOG.md](https://github.com/filecoin-project/lotus/blob/master/CHANGELOG.md) is up to date
- [ ] Ensure that [README.md](https://github.com/filecoin-project/lotus/blob/master/README.md) is up to date
- [ ] Merge `release-vX.Y.Z` into the `releases` branch.
- [ ] Tag this merge commit (on the `releases` branch) with `vX.Y.Z`
- [ ] Cut the release [here](https://github.com/filecoin-project/lotus/releases/new?prerelease=true&target=releases).
- [ ] Check `Create a discussion for this release` when tagging the release
- [ ] Final announcements
- [ ] Update network.filecoin.io for mainnet, calib and nerpa.
- [ ] repost in #fil-lotus in filecoin slack
- [ ] Inform node provides (Protofire, Digital Ocean..)
- [ ] **Post-Release**
- [ ] Merge the `releases` branch back into `master`, ignoring the changes to `version.go` (keep the `-dev` version from master).
- [ ] Create an issue using this release issue template for the _next_ release.
## ❤️ Contributors
< list generated by scripts/mkreleaselog >
Would you like to contribute to Lotus and don't know how? Well, there are a few places you can get started:
- TODO
## ⁉️ Do you have questions?
Leave a comment [here](<link to release discussion>) if you have any questions.
@@ -4,6 +4,8 @@
- [ ] Define upgrade heights in `build/params_`
- [ ] Generate adapters
- [ ] Add the new version in `chain/actors/agen/main.go`
- [ ] Update adapter code in `chain/actors/builtin` if needed
- [ ] Update `chain/actors/policy/policy.go`
- [ ] Update `chain/actors/version.go`
- [ ] Register in `chain/vm/invoker.go`
- [ ] Register in `chain/vm/mkactor.go`