|
1 | 1 | # Δ Delta
|
2 |
| -Filecoin Storage Deal Making Service |
3 |
| - |
4 |
| -*Delta is in active development and is not ready for production use.* |
5 |
| - |
6 |
| - |
7 |
| - |
8 |
| - |
9 |
| -For more information, check out the [docs](docs) |
10 |
| - |
11 |
| -# Build and Run Delta |
12 |
| - |
13 |
| -## Prepare to `build` |
14 |
| -Copy the `.env.example` file to `.env` and update the values as needed. |
15 |
| - |
16 |
| -``` |
17 |
| -# Node info |
18 |
| -NODE_NAME=stg-deal-maker |
19 |
| -NODE_DESCRIPTION=Experimental Deal Maker |
20 |
| -NODE_TYPE=delta-main |
21 |
| -
|
22 |
| -# Database configuration |
23 |
| -MODE=standalone |
24 |
| -DB_DSN=delta.db |
25 |
| -#REPO=/mnt/.whypfs # shared mounted repo |
26 |
| -
|
27 |
| -# Frequencies |
28 |
| -MAX_CLEANUP_WORKERS=1500 |
29 |
| -``` |
30 |
| - |
31 |
| -Running this the first time will generate a wallet. Make sure to get FIL/DataCap from the [faucet](https://verify.glif.io/) and fund the wallet |
32 |
| - |
33 |
| -## Install and run `Delta` using `docker` |
34 |
| -Make sure you have docker installed on your machine. |
35 |
| - |
36 |
| -### Run the current delta clone using docker-compose |
37 |
| -If you already have a wallet with datacap, you can pass it to the command below. This copies over the wallet directory to the containerized app and sets it as the default wallet. |
38 |
| -``` |
39 |
| -make docker-compose-run WALLET_DIR=<walletdir> |
40 |
| -``` |
41 |
| - |
42 |
| -**Check localhost** |
43 |
| - |
44 |
| -You can check the localhost to see if the delta app is running |
45 |
| -``` |
46 |
| -curl --location --request GET 'http://localhost:1414/open/node/info' |
47 |
| -``` |
48 |
| - |
49 |
| -**Next** |
50 |
| - |
51 |
| -Now that you can access a live Delta node, you are now ready to make a deal. You can now go to the following guides: |
52 |
| - |
53 |
| -- [Make an e2e deal](docs/make-e2e-deal.md) |
54 |
| -- [Make an import deal](docs/make-import-deal.md) |
55 |
| - |
56 |
| - |
57 |
| -### Run a specific docker image tag from the docker hub artifactory |
58 |
| -We have a few pre-built images on the docker hub artifactory. You can run the following command to run a specific image tag |
59 |
| -``` |
60 |
| -cd docker |
61 |
| -./run.sh <TAG> |
62 |
| -``` |
63 |
| -Note: no tag means it'll just get the latest image. |
64 |
| - |
65 |
| -## Install, build from source and run `Delta` |
66 |
| -### Install the following pre-req |
67 |
| -- go 1.18 |
68 |
| -- [jq](https://stedolan.github.io/jq/) |
69 |
| -- [hwloc](https://www.open-mpi.org/projects/hwloc/) |
70 |
| -- opencl |
71 |
| -- [rustup](https://rustup.rs/) |
72 |
| -- postgresql |
73 |
| - |
74 |
| -Alternatively, if using Ubuntu, you can run the following commands to install the pre-reqs |
75 |
| -``` |
76 |
| -apt-get update && \ |
77 |
| -apt-get install -y wget jq hwloc ocl-icd-opencl-dev git libhwloc-dev pkg-config make && \ |
78 |
| -apt-get install -y cargo |
79 |
| -``` |
80 |
| - |
81 |
| -### Using `make` |
82 |
| -``` |
83 |
| -make all |
84 |
| -./delta daemon --repo=.whypfs --wallet-dir=<walletdir> |
85 |
| -``` |
86 |
| - |
87 |
| -### Using `go build` |
88 |
| -``` |
89 |
| -go build -tags netgo -ldflags '-s -w' -o delta |
90 |
| -./delta daemon --repo=.whypfs --wallet-dir=<walletdir> |
91 |
| -``` |
92 |
| - |
93 |
| -## Run `Delta` |
94 |
| -``` |
95 |
| -./delta daemon --mode=standalone |
96 |
| -``` |
97 |
| - |
98 |
| -## Test the API server |
99 |
| -Try the following endpoints to test the API server |
100 |
| -``` |
101 |
| -curl --location --request GET 'http://localhost:1414/open/node/info' |
102 |
| -curl --location --request GET 'http://localhost:1414/open/node/peers' |
103 |
| -curl --location --request GET 'http://localhost:1414/open/node/host' |
104 |
| -``` |
105 |
| - |
106 |
| -If it return the following, then the API server is working |
107 |
| -``` |
108 |
| -{"name":"stg-deal-maker","description":"Experimental Deal Maker","type":"delta-main"} |
109 |
| -``` |
110 |
| - |
111 |
| - |
112 |
| -# Getting Started with `Delta` |
113 |
| -- To get started on running delta, go to the [getting started to run delta](docs/getting-started-run-delta.md) |
114 |
| -- To get started on using a live delta instance, go to the [getting started to use delta](docs/getting-started-use-delta.md) |
115 |
| -- To learn more about running delta using docker, go to the [run delta using docker](docs/running-delta-docker.md) |
116 |
| -- To learn more about deployment modes, go to the [deployment modes](docs/deployment-modes.md) |
117 |
| -- To get estuary api key, go to the [estuary api keys](docs/getting-estuary-api-key.md) |
118 |
| -- To manage wallets, go to the [managing wallets](docs/manage-wallets.md) |
119 |
| -- To make an end-to-end deal, go to the [make e2e deals](docs/make-e2e-deal.md) |
120 |
| -- To make an import deal, go to the [make import deals](docs/make-import-deal.md) |
121 |
| -- To learn how to repair a deal, go to the [repairing and retrying deals](docs/repair.md) |
122 |
| -- To learn how to access the open statistics and information, go to the [open statistics and information](docs/open-stats-info.md) |
123 |
| -- To learn about the content lifecycle and check status of the deals, go to the [content lifecycle and deal status](docs/content-deal-status.md) |
124 |
| -- To use Delta cli to manage deals, go to the [delta cli](docs/cli.md) |
125 |
| - |
126 |
| -## Author |
127 |
| -Protocol Labs Outercore Engineering. |
| 2 | +Generic DealMaking MicroService using whypfs + filclient + estuary_auth |
| 3 | + |
| 4 | + |
| 5 | + |
| 6 | +## Features |
| 7 | +- Make e2e / online and import / offline storage deals. |
| 8 | +- Compute piece_commitments using variety of methods |
| 9 | + - boost piece commitment computation |
| 10 | + - parallel piece commitment computation |
| 11 | + - filclient piece commitment computation |
| 12 | +- Assign deals to specific miners |
| 13 | +- Assign deals to specific wallets |
| 14 | +- Shows all the deals made for specific user |
| 15 | +- Extensive status information about the deals made |
| 16 | +- Support for multiple wallets |
| 17 | +- Lightweight. Uses a light ipfs node `whypfs-core` to stage the files. |
| 18 | +- Cleans up itself after a deal is made. |
| 19 | +- Monitors deal progress |
| 20 | +- Monitors transfer progress |
| 21 | +- Containerized deployment |
| 22 | + |
| 23 | +## Getting Started |
| 24 | +To get started, go to our docs [here](docs). |
| 25 | +# Author |
| 26 | +Protocol Labs Outercore Engineering. |
0 commit comments