Reference implementation of the Filecoin protocol, written in Go
Go to file
Ian Davis 696469aae7
fix: avoid potential hang when starting event listener
It was possible for NewEvents to never return, blocked on waiting for a WaitGroup to be done.
The call to Done was in a goroutine that could exit before reaching the Done call.

Replace the WaitGroup with a channel that is closed to signal that initialisation is complete.
Also, while we are waiting on the channel, wait on the context so we can exit clealy if the
context is canceled.
2020-12-09 11:29:48 +00: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 Use FundManager to withdraw funds, add MarketWithdraw to API 2020-12-03 13:08:18 -08:00
build Merge pull request #5105 from filecoin-project/feat/log-insufficent-peers 2020-12-03 12:53:40 +01:00
chain fix: avoid potential hang when starting event listener 2020-12-09 11:29:48 +00:00
cli Use FundManager to withdraw funds, add MarketWithdraw to API 2020-12-03 13:08:18 -08:00
cmd Merge pull request #5072 from zgfzgf/feat-shed-cid 2020-12-08 10:23:04 +01:00
conformance Merge branch 'master' into release/v1.2.0 2020-11-17 19:40:05 -05:00
documentation docs 2020-12-03 13:20:50 -08:00
extern storagefsm: Fix addr selection for commits 2020-12-03 12:30:41 +01: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 optimize code use existence var 2020-12-03 09:54:57 +08:00
node Use FundManager to withdraw funds, add MarketWithdraw to API 2020-12-03 13:08:18 -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 miner: Fix control address lookup 2020-12-04 17:02:23 +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 integrate memory watchdog; impose limits on badger caches. 2020-12-02 16:40:28 +00:00
go.sum integrate memory watchdog; impose limits on badger caches. 2020-12-02 16:40:28 +00: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