You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -4,79 +4,290 @@ Boost is a tool for Filecoin storage providers to manage data storage and retrie
4
4
5
5
See the docs at [https://boost.filecoin.io](https://boost.filecoin.io/getting-started) to get started.
6
6
7
-
## For development:
7
+
## Table of Contents
8
8
9
+
-[Building and Installing Boost](#building-and-installing-boost)
10
+
-[Running Boost for development](#running-boost-for-development)
11
+
-[Running Boost devnet in Docker](#running-boost-devnet-in-docker)
12
+
-[License](#license)
9
13
10
-
1. Install using instructions in the building and installation section in [the docs](https://boost.filecoin.io/getting-started#building-and-installing).
14
+
## Building and Installing Boost
11
15
12
-
2. Make sure you have a local Lotus fullnode and miner running and listening to `localhost:1234` and `localhost:2345` respectively, for example with a devnet:
16
+
Compile and install using the instructions at the `Building and installing` section in [the docs](https://boost.filecoin.io/getting-started#building-and-installing).
13
17
18
+
## Running Boost for development
19
+
20
+
To run Boost on your development machine, you will need to set up a devnet:
21
+
22
+
1. Remove any existing Lotus and Boost repositories
Note that currently `devnet` is using the default paths that `lotus` and `lotus-miner` use for their repositories, and you should make sure these directories are empty:
28
+
2. Build Lotus in debug mode
19
29
30
+
The version of lotus needs to match the version in Boost's go.mod
20
31
```
21
-
LOTUS_PATH=~/.lotus
22
-
LOTUS_MINER_PATH=~/.lotusminer
32
+
cd lotus
33
+
git checkout <tag>
34
+
make debug
35
+
```
36
+
37
+
3. Install Lotus
23
38
24
-
rm -rf ~/.lotus ~/.lotusminer
39
+
The devnet script uses the installed `lotus` and `lotus-miner` binaries to run the miner and daemon.
--wallet-publish-storage-deals=`lotus wallet new bls` \
38
-
--wallet-deal-collateral=`lotus wallet new bls` \
39
-
--max-staging-deals-bytes=50000000000
62
+
The following command will use the binaries that you built and installed above, and will run `lotus`, `lotus-miner` and `lotus-seed`. The `lotus` version must match the version in Boost's go.mod.
63
+
```
64
+
cd boost
65
+
./devnet
40
66
```
41
67
42
-
4. Run the Boost daemon service
68
+
The first time you run it, it will download the Filecoin proof parameters. It will take at least 10 minutes depending on your connection speed. You may need to restart the command multiple times as your terminal will probably timeout before it finishes downloading everything.
43
69
70
+
The devnet isn't designed to be restartable. After it has been successfully run once, you'll have to clear out the previous data before re-running `./devnet`:
3. Follow the guide at https://boost.filecoin.io/tutorials/how-to-store-files-with-boost-on-filecoin
200
+
201
+
Note that above you already ran a command to export FULLNODE_API (and point it to your local devnet lotus daemon).
202
+
203
+
Note also that the provider address is `t01000` and you will need to supply an appropriate `--storage-price` when using `boost deal` since the devnet has a minimum price. Alternatively, using "Settings" in the Boost web UI to set the deal price to zero.
204
+
205
+
## Running Boost devnet in Docker
206
+
207
+
### Building Docker images
208
+
209
+
1. Select Lotus version, for example: `lotus_version=1.17.1-rc2`. It must be the tag name of [the Lotus git repo](https://github.com/filecoin-project/lotus/tags) without `v` prefix.
210
+
211
+
2. Select Boost version, for example: `boost_version=1.3.0-rc1`.
212
+
213
+
3. Build images
214
+
215
+
```
216
+
cd docker/devnet
217
+
make build/all
218
+
```
219
+
220
+
If you need to build a different version, edit the `.env` file.
221
+
222
+
### Start devnet docker stack
223
+
224
+
1. Run
225
+
226
+
```
227
+
cd docker/devnet
228
+
docker compose up -d
229
+
```
230
+
231
+
It will spin up `lotus`, `lotus-miner`, `boost`, `booster-http` and `demo-http-server` containers. All temporary data will be saved in `./data` folder.
232
+
233
+
The initial setup could take up to 20 min or more as it needs to download Filecoin proof parameters. During the initial setup, it is normal to see error messages in the log. Containers are waiting for the lotus to be ready. It may timeout several times. Restart is expected to be managed by `docker`.
234
+
235
+
2. Try opening the Boost GUI http://localhost:8080 . Devnet is ready to operate when the URL opens and indicates no errors on the startup page.
236
+
237
+
You can inspect the status using `docker compose logs -f`.
The `boost` container is packed with `boost` and `lotus` clients. You can connect to the container with the command `docker compose exec boost /bin/bash` and follow instructions for [storing files with Boost guide](https://boost.filecoin.io/tutorials/how-to-store-files-with-boost-on-filecoin). But the recommended startup is to follow the semi-interactive demo first:
261
+
262
+
```
263
+
# Attach to a running boost container
264
+
docker compose exec boost /bin/bash
265
+
266
+
# Execute the demo script /app/sample/make-a-deal.sh
267
+
root@83260455bbd2:/app# ./sample/make-a-deal.sh
268
+
```
269
+
270
+
### Accessing Lotus from localhost
271
+
272
+
By default the [docker-compose.yaml](./docker-compose.yaml) does not expose any port of the `lotus` container. To access the `lotus` from a local machine:
273
+
1. You can either expose `1234` in [docker-compose.yaml](./docker-compose.yaml) or find the IP of the `lotus` container using `docker inspect lotus | grep IPAddress` command.
0 commit comments