This runbook is intended for maintainers of the Lotus-Infra repo and provides instructions on how to reset the Butterfly network infrastructure. It assumes that properly configured branches or tags have been made with the correct network parameters in Lotus. This runbook does not cover how to configure the Butterfly network.
- A list of hosts for the Butterfly network infrastructure and their roles can be found here.
- The instances running the Butterfly network infrastructure are in the FilOz AWS account. FilOz members can get credentials to log in and confirm that these are running in their 1Password account.
Before fully resetting the Butterfly network, it is recommended to do a dry-run reset of the network to confirm that the workflow completes:
-
Navigate to Lotus Ansible Reset Careful in GitHub Actions.
-
Select Run workflow.
-
Fill out the lotus branch field with the desired branch or tag to be used for the deployment of the Butterfly network.
-
Ensure that the
Run this workflow in dry-run mode first before setting to false
is set totrue
and click on theRun workflow
button.
Confirm that the workflow completes successfully, and proceed with the actual Butterfly network reset.
-
Navigate to Lotus Ansible Reset Careful in GitHub Actions.
-
Select Run workflow.
-
Fill out the lotus branch field with the desired branch or tag to be used for the deployment of the Butterfly network.
-
Ensure that the
Run this workflow in dry-run mode first before setting to false
is set tofalse
and click on theRun workflow
button.
-
Navigate to Lotus Ansible Reset Careful in GitHub Actions, and click into your completed workflow.
-
Download the
reset-artifacts
at the bottom of the page and take note of the downloaded file name.
-
Checkout the branch that you used for deploying the Butterfly network.
-
Extract the
lotus.tar
file inside of your downloadedreset-artifacts
. -
Prepare
build/genesis/butterflynet.car
:- Remove built-in actors WASM compiles from the bundle (install https://github.com/ipld/go-car/ for the
car
command):car ls build/genesis/butterflynet.car | grep ^bafk2bz | car filter --inverse build/genesis/butterflynet.car butterflynet.car
- this will result in a newbutterflynet.car
in the current working directory. - Compress
butterflynet.car
withzstd -19 butterflynet.car
.
- Remove built-in actors WASM compiles from the bundle (install https://github.com/ipld/go-car/ for the
-
Commit the new
butterflynet.car.zst
file tohttps://github.com/filecoin-project/lotus/tree/master/build/genesis
replacing the oldbutterflynet.car.zst
file.
👉 Example of a PR submitting the artifacts to Lotus can be seen here.