Reference implementation of the Filecoin protocol, written in Go
Go to file
Steven Allen b8e3808c4f Make state tipset usage consistent in the API
_Always_ (almost) use the tipset's parent state, instead of computing.

Exceptions:

* MinerGetBaseInfo. Fixing this would break things so we need to be
careful (although we could bump the API version, fix it, then fix the call
sites).
* StateReplay. This is replaying a message on top of the given tipset.
* GasEstimateGasLimit. This executes the message on-top-of the tipset's
computed state (unlike call which executes it on the tipset's parent state).
  * Having this method and Call apply the message at different heights is really
  weird.
2020-12-09 11:29:40 -08:00
.circleci trigger testplans only on merge to master 2020-11-23 20:04:24 +01:00
.github move conformance tvx tool to lotus. 2020-09-27 20:10:05 +01:00
api Make state tipset usage consistent in the API 2020-12-09 11:29:40 -08:00
build Merge pull request #5105 from filecoin-project/feat/log-insufficent-peers 2020-12-03 12:53:40 +01:00
chain Make state tipset usage consistent in the API 2020-12-09 11:29:40 -08:00
cli Merge pull request #5150 from filecoin-project/feat/list-deals-xfer-id 2020-12-09 19:39:46 +01:00
cmd feat: show data transfer ID in list-deals 2020-12-08 15:23:26 +01:00
conformance Merge branch 'master' into release/v1.2.0 2020-11-17 19:40:05 -05:00
documentation feat: show data transfer ID in list-deals 2020-12-08 15:23:26 +01:00
extern Remove extra spaces 2020-12-09 19:22:21 +08:00
gen refactor: FundManager 2020-11-10 19:44:26 -08:00
genesis port to v2 imports 2020-10-21 12:16:23 -07:00
journal unshare the journal 2020-10-09 13:23:07 -07:00
lib fix log format 2020-11-24 19:09:48 +08:00
lotuspond pond: Fix MpoolPushMessage call 2020-11-09 18:42:22 +01:00
markets Update markets/storageadapter/ondealsectorcommitted.go 2020-12-01 16:48:48 +01:00
metrics Add metrics for VM flush duration and obj count 2020-11-17 20:41:33 +01:00
miner Make state tipset usage consistent in the API 2020-12-09 11:29:40 -08:00
node Make state tipset usage consistent in the API 2020-12-09 11:29:40 -08:00
paychmgr fix: race in paych manager when req context is cancelled 2020-11-11 14:40:48 +01:00
scripts bugfix: fixup devnet script 2020-11-22 00:11:39 +08:00
storage Refactor DefaultMessageSendSpec 2020-12-08 20:51:27 +01:00
system avoid global ResourceConstraints. 2020-12-02 22:26:30 +00:00
testplans add .sec scale to measurements; humanize for metric tags 2020-11-24 17:52:37 +01:00
tools use actor abstraction in metrics command 2020-10-11 20:31:20 -07:00
.codecov.yml fix code coverage ignore 2020-10-14 18:21:16 -07:00
.dockerignore add docker support 2019-12-05 11:31:32 +08:00
.gitignore add keygen outfile 2020-12-04 18:39:35 +08:00
.gitmodules remove oni submodule 2020-11-06 21:03:56 +01:00
.golangci.yml Lint everything 2020-08-20 20:46:36 -07:00
CHANGELOG.md Lotus version 1.2.2 2020-12-02 20:23:59 -05:00
go.mod feat: show data transfer ID in list-deals 2020-12-08 15:23:26 +01:00
go.sum feat: show data transfer ID in list-deals 2020-12-08 15:23:26 +01:00
LICENSE-APACHE Add basic readme and licenses 2019-08-01 21:26:11 -07:00
LICENSE-MIT Add basic readme and licenses 2019-08-01 21:26:11 -07:00
Makefile add keygen outfile 2020-12-04 18:39:35 +08:00
README.md readme update golang version 2020-11-23 16:15:17 +08:00
SECURITY.md Update SECURITY.md 2020-10-14 15:11:30 +02:00

Project Lotus Logo

Project Lotus - 莲


Lotus is an implementation of the Filecoin Distributed Storage Network. For more details about Filecoin, check out the Filecoin Spec.

Building & Documentation

For instructions on how to build, install and setup lotus, please visit https://docs.filecoin.io/get-started/lotus.

Reporting a Vulnerability

Please send an email to security@filecoin.org. See our security policy for more details.

Development

The main branches under development at the moment are:

  • master: current testnet.
  • next: working branch with chain-breaking changes.
  • ntwk-calibration: devnet running one of next commits.

Tracker

All work is tracked via issues. An attempt at keeping an up-to-date view on remaining work towards Mainnet launch can be seen at the lotus github project board. The issues labeled with incentives are there to identify the issues needed for Space Race launch.

Packages

The lotus Filecoin implementation unfolds into the following packages:

License

Dual-licensed under MIT + Apache 2.0