From 4a9c3ae889c6997294dccbe8fb85e1bfd4c823df Mon Sep 17 00:00:00 2001 From: "@wwwjim" Date: Sun, 1 Dec 2019 00:28:50 -0800 Subject: [PATCH] documentation: updates readme --- .DS_Store | Bin 0 -> 8196 bytes README.md | 301 +------------------------- documentation/.DS_Store | Bin 0 -> 6148 bytes documentation/images/lotus_logo_h.png | Bin 0 -> 5976 bytes documentation/images/lotus_logo_h.svg | 1 + 5 files changed, 6 insertions(+), 296 deletions(-) create mode 100644 .DS_Store create mode 100644 documentation/.DS_Store create mode 100644 documentation/images/lotus_logo_h.png create mode 100644 documentation/images/lotus_logo_h.svg diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..c17667245b7b809015efd2b59ab8549a023cb3f2 GIT binary patch literal 8196 zcmeHM&2G~`5T4CX<@Br}5+O53n7I8v|?pC{F?|$Fx`kS$xb%{vShOG+GA`w}rY)f-! z&L}+2HB~Zk&ox*9J_Sw33mlx4QdrYr6fg=H1&jhl0i(dbp#a|5T`_ZUrjRHo2 z3#kA=zkXC^A?pd;_NA9+#?BDNWxSOV&;@j@m@n_sR@7D`oxbjP>1@g8CyeLq88>1 zW$mN&X+Q_mroOt`%r}iU4_<(E4CxSPKlb3FPg5kj{^v|*H0Z@&Oujlj&mDv-E8j&X zo6FA>ENj-9ou7Tt=mw)kXotf=&F(+rvt2vvI`Q#d5O}A@w)4bokM>JfHv>PkUBBIz zWVh7@8BA5SXR+0?w6Lv4!U7Jjb z*24A5`u5Ai<2U2ClXo9+eJCP+5Yv_D{Ivaqqu;1?)ad(O;CI*s>I~F;4K)#gl#*XC zu4Z6|wO1pRThdT7)In5kAx?pw4a7P9A(7K3*a62?^-G-DNoErTH-F{7^z5^>q%q|D5y@F$1F!OiOXZ9HXY-B>Z%@PG?T~z zkZqnBYv}0nb3BEWh-Z-=L-P&V!WGtK4rosyj;hA!!+Qw-F6)5uB+8o3>ZmD_RH m(|;J^xC|(Bs - -$ lotus-storage-miner state sectors -``` - -### Stage Data - -Import some data: - -```sh -# Create a simple file -$ echo "Hi my name is $USER" > hello.txt - -# Import the file into lotus & get a Data CID -$ lotus client import ./hello.txt - - -# List imported files by CID, name, size, status -$ lotus client local -``` - -(CID is short for Content Identifier, a self describing content address used throughout the IPFS ecosystem. It is a cryptographic hash that uniquely maps to the data and verifies it has not changed.) - -### Make a deal - -(It is possible for a Client to make a deal with a Miner on the same lotus Node.) - -```sh -# List all miners in the system. Choose one to make a deal with. -$ lotus state list-miners - -# List asks proposed by a miner -$ lotus client query-ask - -# Propose a deal with a miner. Price is in attoFIL/byte/block. Duration is # of blocks. -$ lotus client deal -``` - -For example `$ lotus client deal bafkre...qvtjsi t0111 36000 12` proposes a deal to store CID `bafkre...qvtjsi` with miner `t0111` at price `36000` for a duration of `12` blocks. If successful, the `client deal` command will return a deal CID. - -### Search & Retrieval - -If you've stored data with a miner in the network, you can search for it by CID: - -```sh -# Search for data by CID -$ lotus client find -LOCAL -RETRIEVAL @-- -``` - -To retrieve data from a miner: - -```sh -$ lotus client retrieve -``` - -This will initiate a retrieval deal and write the data to the outfile. (This process may take some time.) - -### Monitoring Dashboard - -To see the latest network activity, including chain block height, blocktime, total network power, largest miners, and more, check out the monitoring dashboard at https://lotus-metrics.kittyhawk.wtf. - -### Pond UI - ------ - -As an alternative to the CLI you can use Pond, a graphical testbed for lotus. It can be used to spin up nodes, connect them in a given topology, start them mining, and observe how they function over time. - -Build: - -``` -$ make pond -``` - -Run: -``` -$ ./pond run -Listening on http://127.0.0.1:2222 -``` - -Now go to http://127.0.0.1:2222. - -**Things to try:** - -- The `Spawn Node` button starts a new lotus Node in a new draggable window. -- Click `[Spawn Storage Miner]` to start mining (make sure the Node's wallet has funds). -- Click on `[Client]` to open the Node's client interface and propose a deal with an existing Miner. If successful you'll see a payment channel open up with that Miner. - -> Note: Don't leave Pond unattended for long periods of time (10h+), the web-ui tends to -> eventually consume all the available RAM. - -### Troubleshooting - -* Turn it off and on - Start at the top -* `rm -rf ~/.lotus ~/.lotusstorage/` -* Verify you have the correct versions of dependencies -* If stuck on a bad fork, try `lotus chain sethead --genesis` -* If that didn't help, open a new issue, ask in the [Community forum](https://discuss.filecoin.io) or reach out via [Community chat](https://github.com/filecoin-project/community#chat). - - - -## Architecture - -Lotus is architected modularly, and aims to keep clean API boundaries between everything, even if they are in the same process. Notably, the 'lotus full node' software, and the 'lotus storage miner' software are two separate programs. - -The lotus storage miner is intended to be run on the machine that manages a single storage miner instance, and is meant to communicate with the full node via the websockets jsonrpc api for all of its chain interaction needs. This way, a mining operation may easily run one or many storage miners, connected to one or many full node instances. - -## Notable Modules - -### API -The systems API is defined in here. The RPC maps directly to the API defined here using the JSON RPC package in `lib/jsonrpc`. Initial API documentation in [docs/API.md](docs/API.md). - -### Chain/Types -Implementation of data structures used by Filecoin and their serializations. - -### Chain/Store -The chainstore manages all local chain state, including block headers, messages, and state. - -### Chain/State -A package for dealing with the Filecoin state tree. Wraps the [HAMT](https://github.com/ipfs/go-hamt-ipld). - -### Chain/Actors -Implementations of the builtin Filecoin network actors. - -### Chain/Vm -The Filecoin state machine 'vm'. Implemented here are utilities to invoke Filecoin actor methods. - - -### Miner -The block producer logic. This package interfaces with the full node through the API, despite currently being implemented in the same process (very likely to be extracted as its own separate process in the near future). - -### Storage -The storage miner logic. This package also interfaces with the full node through a subset of the api. This code is used to implement the `lotus-storage-miner` process. - -## Pond -Pond is a graphical testbed for lotus. It can be used to spin up nodes, connect them in a given topology, start them mining, and observe how they function over time. - -To try it out, run `make pond`, then run `./pond run`. -Once it is running, visit localhost:2222 in your browser. - -## Tracing -Lotus has tracing built into many of its internals. To view the traces, first download jaeger](https://www.jaegertracing.io/download/) (Choose the 'all-in-one' binary). Then run it somewhere, start up the lotus daemon, and open up localhost:16686 in your browser. - -For more details, see [this document](./docs/tracing.md). +For instructions on how to build lotus from source, please visit [https://docs.lotu.sh](https://docs.lotu.sh) or read the source [here](https://github.com/filecoin-project/lotus/tree/master/documentation). ## License + Dual-licensed under [MIT](https://github.com/filecoin-project/lotus/blob/master/LICENSE-MIT) + [Apache 2.0](https://github.com/filecoin-project/lotus/blob/master/LICENSE-APACHE) diff --git a/documentation/.DS_Store b/documentation/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..ea3f510c12a899e9523763ac68310adf8779ce63 GIT binary patch literal 6148 zcmeHK!A=4(5S_w?AS6mKir)6)e7eoyrs-iG@HB=Vk=UfU_GCli1B|gR!-6Yd~ zFPZiVqg{tnz$vh63h-~YLS4G25uMZe@0VW+mndgTF$uj%1Bz*Z&xj^y2Q){!OEc6l zMOGhgIUjZK5}JZJ7v__VrCJ5nP)0}eC>UE=&pB2FagH&bqn@w4n~LI=f)K6`Zl|FLb z_Mir@oL)W4{N<}0qlvZU6`z3<(}Q6KSnIB=yv@gZ&c`7XWFIN^88g|>M0x@!k-(?L zi+B19F9Z0tdXXLcva*8@5X%DUb3S?pZ^?vs@2;|Iq6DwsMg?W(u5#dFCkC`x9Be_w`^3N^agDc}@XSD>uFHu(I%-hBUGC%JD<0jI#f zQb2i~+fExPnX|Q!9G|s5${h+DkIOU)1(i9DrNKw>35pn=`P=}81~ZN5fw?~dB7>`( I0)MK&H|$aElmGw# literal 0 HcmV?d00001 diff --git a/documentation/images/lotus_logo_h.png b/documentation/images/lotus_logo_h.png new file mode 100644 index 0000000000000000000000000000000000000000..701191aae4572003966e048b3f678844199b15df GIT binary patch literal 5976 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 bJtl@FVO45@$PVKpD#w5-YeQlotus_logo_h \ No newline at end of file