Eudico is a modularised implementation of Lotus, itself an implementation of the Filecoin Distributed Storage Network. For more details about Filecoin, check out the Filecoin Spec. This is a work-in-progress intended to enable easier experimentation with future protocol features and is not meant to be used in the production network.
The production branch is main
.
The main
branch is always compatible with the stable version of the IPC Agent.
Updates to main
always come from the dev
branch.
The primary development branch is dev
.
dev
contains the most up-to-date software but may not be compatible with the stable version of the IPC Agent. Only use dev
if doing a full local deployment. In such cases, use the IPC Agent dev
branch too, but note that the packaged deployment scripts default to checking out main
.
Note: The
dev
branch is the cutting-edge implementation, recommended for subnets, while themain
branch guarantees compatibility with the stable version of the rest of the stack.
For complete instructions on how to build, install and setup eudico/lotus, please visit https://lotus.filecoin.io. Basic build instructions can be found further down in this readme.
Please send any security reports to [email protected].
System-specific Software Dependencies:
Building eudico requires some 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
Fedora:
sudo dnf -y install gcc make git bzr jq pkgconfig mesa-libOpenCL mesa-libOpenCL-devel opencl-headers ocl-icd ocl-icd-devel clang llvm wget hwloc hwloc-devel
For other distributions you can find the required dependencies here. For instructions specific to macOS, you can find them here.
To build eudico, you need a working installation of Go 1.19.7 or higher:
wget -c https://golang.org/dl/go1.19.7.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local
TIP:
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.
Once all the dependencies are installed, you can build and install eudico.
git clone https://github.com/consensus-shipyard/lotus.git
cd lotus/
make spacenet
Eudico will use the $HOME/.lotus
folder by default for storage (configuration, chain data, wallets, etc). See advanced options for information on how to customize the Lotus folder.
You should now have Lotus installed. You can now start the Lotus daemon and sync the chain.
Dual-licensed under MIT + Apache 2.0