Releases: ParaState/SafeStakeOperator
v3.1-testnet
This release fixed the problem of querying future blocks and the timeout issue.
Upgrade steps:
- Run
cd dvf
- Change
IMAGE_TAG
tov3.1-testnet
in.env
file - Run the command to recreate the operator:
sudo docker compose -f docker-compose-operator.yml up --force-recreate -d operator
v3.0-testnet
This release fixed a lot of major issues in holesky testnet so contract addresses are changed and holesky testnet is relaunched.
Upgrade steps:
you need to run the below commands to stop operator and delete old data:
sudo docker stop dvf-operator-1
sudo rm -rf /data/operator
then follow the operator document to run your operator from scratch. You don't need to recreate geth and lighthouse but can consider upgrade them to the latest version. You can remove the dvf directory and git clone to dvf again because contracts and configurations changed a lot.
Changes:
- Updated MEV timestamp configuration. Now OP can enable MEV for test.
- Adapt to SafeStake contract v3.
- Added the function of status reporting to backend.
- Increased the frequency of smart contract event query.
- Fixed the bug of occasional failure to decrypt key share.
v2.2-testnet
This release fixed an issue that operator node failed to get the latest events from smart contract, which made some newly registered validator inactive. Operators need to upgrade to this version as soon as possible.
Upgrade Steps
cd dvf
git pull
# then update IMAGE_TAG to v2.2-testnet in .env
nano .env
sudo docker compose -f docker-compose-operator.yml up --force-recreate -d operator
v2.1-testnet
This release is for Dencun upgrade on both Holesky and Goerli testnet. Operators running on Holesky need to upgrade before Feb 7 2024 @ 11:34:24 (GMT+0).
Geth version: v1.13.11
Lighthouse version: v4.6.0
Operator version: v2.1-testnet
Upgrade Steps
cd dvf
git pull
# then update IMAGE_TAG to v2.1-testnet in .env
nano .env
sudo docker compose -f docker-compose-operator.yml up geth -d
sudo docker compose -f docker-compose-operator.yml up lighthouse -d
sudo docker compose -f docker-compose-operator.yml up --force-recreate -d operator
Other changes:
- MEV_IP is now changed to MEV_ENDPOINT (should include port) in .env.
- NODE_IP is now recommended to set in .env for your machine's public ipv4 ip.
- FEE_RECEIPIENT is now removed in .env. Instead of setting it in operator level, it will be set in the validator level. Execution layer reward will be transferred to the address that registered the validator.
v2.0-testnet
This release is for Holesky testnet operator. A lot of bugs are fixed and operator becomes stable a lot.
Major updates:
- New feature: Initiator
- New feature: MEV
- Bug fix: OOM caused by too many websocket connections
v1.2-testnet
This release fixed the issue that operator will fail to attest when the ip of machine changed.
Operator need to do the following steps to do the upgrade:
- Run
cd dvf
- Change
IMAGE_TAG
tov1.2-testnet
in.env
file - Run the command to recreate the operator:
sudo docker compose -f docker-compose-operator.yml up --force-recreate -d operator
v1.1-testnet
This release fixes the issue that newly added validators will wait for a long time before becoming active.
Operator need to do the following steps to do the upgrade:
- Run
cd dvf
- Change
IMAGE_TAG
tov1.1-testnet
in.env
file - Run the command to recreate the operator:
sudo docker compose -f docker-compose-operator.yml up --force-recreate -d operator
v1.0-testnet
For this release, we changed our contract from STATE to DVT so operators need to do the following steps to run your new operator nodes if you are still running an old operator node:
cd dvf
git pull && git checkout main
mv .env.example .env
# update .env with your configuration
sudo docker stop dvf-operator-1
sudo mv /data/operator /data/operator-backup
sudo mkdir -pv /data/operator/
sudo docker compose -f docker-compose-operator.yml up dvf_key_tool
# Save the public key, which will be used later. Go to SafeStake website and Join As Operator.
# After you register an Operator on the Safestake website, you will be shown your OPERATOR ID, which is the unique identifier you need to start with. You will need to update the OPERATOR ID to the .env file before running the operator service.
sudo docker compose -f docker-compose-operator.yml up --force-recreate -d operator
Change log
- Change the way of monitoring contract events to actively synchronizing events from the contract, and persist all events to the local database. Even if the node is down, it can be recovered after restart.
- Polling to handle all events. Failed events will remain local to increase fault tolerance
- Added initiator role for State2 testing
- Fix logics of VA add / delete
- Fix issue: rocksdb never exit
- Upgrade IP management in VA lifetime. Allow operators to update IP and reconnect. Allow non-responsive operators in registration
- Fix issue: “Stop validator” didn’t delete VA from memory, causing the VA still running
- Fix issue: When VA on OP1 stops, the DVF signer exits (and consensus exits), but handler is not destroyed. OP2 might keep running and sending messages to OP1 who will dispatch the messages as usual, and cause the thread to panic because the tokio receiver channel has been destroyed due to exit signal
- Fix issue: activating validator doesn’t work because it calls “add” validator, which results in a duplicated key error
- Fix issue: heavy logging messages. Add message handling delay to alleviate the issue