Restake
Grants
Give the Restake bot permission to withdraw rewards and delegate on behalf of your wallet
osmosd tx authz grant <bot-restake-address> \
generic \
--from <your-wallet> \
--chain-id osmosis-1 \
--fees 2000uosmo \
-yosmosd tx authz grant <bot-restake-address> \
delegate \
--from <your-wallet> \
--chain-id osmosis-1 \
--fees 2000uosmo \
-yPrerequisites
Install dependencies
sudo apt update
sudo apt install -y gitInstall NodeJS
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
source $HOME/.bashrc
nvm list-remote
nvm install v22Restake Setup
Clone explorer repository from pinghub
git clone https://github.com/eco-stake/restake
cd restakeInstall dependencies
npm installSet mnemonic
echo "MNEMONIC=your mnemonic for restake bot wallet" > .envCreate custom network for restake
src/network.local.json
{
"osmosis": {
"prettyName": "Osmosis",
"restUrl": [
"https://osmosis-rest.publicnode.com"
],
"gasPrice": "0.025uosmo",
"autostake": {
"retries": 3,
"batchPageSize": 100,
"batchQueries": 25,
"batchTxs": 50,
"delegationsTimeout": 20000,
"queryTimeout": 5000,
"queryThrottle": 100,
"gasModifier": 1.3
},
"operator": {
"address": "your-valoper-address",
"minimumReward": "minimum-reward-for-restake"
}
},
"cosmoshub": {
"prettyName": "Cosmos",
"restUrl": [
"https://cosmos-rest.publicnode.com"
],
"gasPrice": "0.025ucosm",
"autostake": {
"retries": 3,
"batchPageSize": 100,
"batchQueries": 25,
"batchTxs": 50,
"delegationsTimeout": 20000,
"queryTimeout": 5000,
"queryThrottle": 100,
"gasModifier": 1.3
},
"operator": {
"address": "your-valoper-address",
"minimumReward": "minimum-reward-for-restake"
}
}
}Start Restake
npm run autostakeStart Restake (SystemD)
Running restake every 1Minutes
tee /etc/systemd/system/restake-fast.service > /dev/null <<EOF
[Unit]
Description=Restake Bot Service (Fast)
After=network.target
[Service]
Type=oneshot
User=${USER}
WorkingDirectory=${HOME}/restake
EnvironmentFile=${HOME}/restake/.env
ExecStart=$(which npm) run autostake
EOFtee /etc/systemd/system/restake-fast.timer > /dev/null <<EOF
[Unit]
Description=Run Restake bot every 1 minutes
[Timer]
OnBootSec=1min
OnUnitActiveSec=1min
Unit=restake-fast.service
[Install]
WantedBy=timers.target
EOFsudo systemctl daemon-reload
sudo systemctl daemon-reexec
sudo systemctl enable restake-fast.timer
sudo systemctl start restake-fast.timer
sudo journalctl -u restake-fast.service -f -o catLast updated