filc
filc is a simple command line interface for filclient. It's great for basic storage/retrieval deals, checking wallet balance, and testing.
Setup
Install
Using filc requires some system dependencies
Ubuntu/Debian:
sudo apt install ocl-icd-opencl-dev build-essential jq pkg-config libhwloc-dev wget -y && sudo apt upgrade -y
Go
To build filc, you need a working installation of Go 1.16.4 or higher:
wget -c https://golang.org/dl/go1.16.4.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local
You’ll need to add /usr/local/go/bin to your path. For most Linux distributions you can run something like:
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc && source ~/.bashrc
See the official Golang installation instructions if you get stuck.
Build and install
Once all the dependencies are installed, you can build filc in the filc directory:
- Clone the repository
git clone https://github.com/application-research/filclient.git
cd filclient
- Build
make all filc
- Run
./filc/filc help
Lotus Connection
filc currently needs a connection to a synced Lotus node to function. By default, filc will attempt to connect to a node hosted at localhost. If you don't have a self-hosted Lotus node, an alternative address can be specified by setting the environment variable FULLNODE_API_INFO (you'll probably want FULLNODE_API_INFO=wss://api.chain.love).
Wallet Setup
Currently, filc will automatically generate a wallet address for you on first run. If you already have a wallet you'd like to use, you can grab the corresponding file starting with O5 from your existing wallet folder (e.g. ~/.lotus/keystore/) and place it into ~/.filc/wallet/.
Debugging
For more verbose logging, set GOLOG_LOG_LEVEL with the modules and levels you want to see. Example - GOLOG_LOG_LEVEL="filclient=debug". Run filc print-loggers to view a list of all available configurable loggers.