Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update readme to refer to docs #663

Merged
merged 2 commits into from
Aug 1, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
150 changes: 9 additions & 141 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,128 +2,14 @@

Boost is a tool for Filecoin storage providers to manage data storage and retrievals on Filecoin.

It replaces the `lotus-miner` `markets` service, as well as the `go-fil-markets` package with a standalone binary that runs alongside a `lotus` daemon and `lotus-miner`.
See the docs at [https://boost.filecoin.io](https://boost.filecoin.io/getting-started) to get started.

Boost exposes `libp2p` interfaces for making storage and retrieval deals, a web interface for managing storage deals, and a GraphQL interface for accessing and updating real-time deal information.
## For development:

## Building

### Prerequisites
1. Install using instructions in the building and installation section in [the docs](https://boost.filecoin.io/getting-started#building-and-installing).

Currently, Boost installation is supported on macOS and Linux platforms.

You need to have Go and Rust installed on your machine in order to build Boost, as well as some additional system dependencies, usually provided by your distribution:

Ubuntu/Debian:
```
sudo apt install mesa-opencl-icd ocl-icd-opencl-dev gcc git bzr jq pkg-config curl clang build-essential hwloc libhwloc-dev wget -y && sudo apt upgrade -y
```

Arch:
```
sudo pacman -Syu opencl-icd-loader gcc git bzr jq pkg-config opencl-icd-loader opencl-headers opencl-nvidia hwloc
```

macOS:
```
brew install go bzr jq pkg-config rustup hwloc coreutils
```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we're currently covering these on the docs site. If folks have already installed Lotus they shouldn't hit these problems, but I think we'll need to update on the docs site before deleting these sections.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@LexLuthr , will you please update the docs to include this or let me know how I can? thanks

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks! This should be ready to merge.


Boost also requires that Xcode Command Line Tools be installed before building the Boost binaries.

### Compiling Boost from source

Depending on your architecture, you will want to export additional environment variables:

```
export RUSTFLAGS="-C target-cpu=native -g"
export FFI_BUILD_FROM_SOURCE=1
```

```
git clone https://github.com/filecoin-project/boost
cd boost
make build
make install
```

## Table of Contents

- [Documentation](#documentation)
- [Getting started](#getting-started)
- [For clients](#for-clients)
- [For storage providers](#for-storage-providers)
- [For development](#for-development)
- [Web UI](#web-ui)
- [License](#license)

## Documentation

Boost Documentation website is located at: https://boost.filecoin.io/

## Getting started

### Binaries

`boost` - Boost client for interacting with Filecoin storage providers that support Boost protocols

`boostd` - Boost daemon which is run by storage providers

`boostx` - Experimental utilities used for development and testing of Boost

### For clients

Boost comes with a client `boost` executable that can be used to send a deal proposal to a `boostd` server.

The client is intentionally minimal. It does not require a daemon process, and can be pointed at any public Filecoin gateway API for on-chain operations. This means that users of the client do not need to run a Filecoin node that syncs the chain.

1. Set the API endpoint environment variable

```
export FULLNODE_API_INFO=<filecoin API endpoint>
```

2. Initialize the client

```
boost -vv init
```

The init command:

a) Creates a Boost client repo (at ~/.boost-client by default)

b) Generates a libp2p peer ID key

c) Generates a wallet for on-chain operations and outputs the wallet address

3. Add funds to the wallet and to the market actor

To make deals you will need to:

a) add funds to the wallet;

b) add funds to the market actor for that wallet address;

4. Make a storage deal

```
boost -vv deal --provider=<f00001> \
--http-url=<https://myserver/my.car> \
--commp=<commp> \
--car-size=<car-size> \
--piece-size=<piece-size> \
--payload-cid=<payload-cid>
```

### For storage providers

Refer to the [Documentation website](https://boost.filecoin.io).

### For development


1. 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:
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:

```
devnet
Expand All @@ -139,7 +25,7 @@ rm -rf ~/.lotus ~/.lotusminer
```


2. Create Boost repository
3. Create Boost repository

```
export $(lotus auth api-info --perm=admin)
Expand All @@ -153,15 +39,15 @@ boostd --vv init \
--max-staging-deals-bytes=50000000000
```

3. Run the Boost daemon service
4. Run the Boost daemon service

```
export $(lotus auth api-info --perm=admin)

boostd --vv run
```

4. Interact with Boost
5. Interact with Boost

Pass the client address (wallet) and the provider address to the `dummydeal` command.
Note that
Expand All @@ -172,25 +58,7 @@ Note that
boostd dummydeal <client address> <provider address>
```

## Web UI

1. Install and build

```
cd react
npm install
npm run build
```

2. Open UI

```
http://localhost:8080
```

### Development mode

To run the web UI in development mode:
## Running the UI in Development Mode:

1. Run the server

Expand All @@ -206,7 +74,7 @@ npm start
http://localhost:3000
```

### Running a devnet
## Running a devnet:

Follow the instructions in the [devnet guide](./documentation/devnet.md)

Expand Down