Prerequisites for this guide
- Installed and synced Execution and Consensus client
Integration
-
Creating a Vault
- At https://app.stakewise.io/operate, connect your wallet and create a Vault
-
Installing StakeWise client on the node server
Download the binary file for your node
Download the client
Unpack the client and remove its packed filecd ~/downloads && curl -LO https://github.com/stakewise/v3-operator/releases/download/v2.1.4/operator-v2.1.4-linux-amd64.tar.gz
tar xvf operator-v2.1.4-linux-amd64.tar.gz && rm operator-v2.1.4-linux-amd64.tar.gz
Move the client to
/usr/local/bin
sudo cp ~/downloads/operator-v2.1.4-linux-amd64/operator /usr/local/bin/stakewise-operator && rm -r ~/downloads/operator-v2.1.4-linux-amd64
Create a directory for
stakewise
servicesudo mkdir /srv/stakewise
Maua way - Generate validator keys
Init
Response issudo /usr/local/bin/stakewise-operator init --data-dir /srv/stakewise
done. Successfully initialized configuration for vault 0xXXXX...
There's created file
config.json
at/srv/stakewise/<vaultAddress>/config.json
. File content:{"network": "gnosis", "mnemonic_next_index": 0, "first_public_key": "0xXXXXXXX....."}
Create keys
Response is:sudo /usr/local/bin/stakewise-operator create-keys --data-dir /srv/stakewise
Keystores password is atDone. Generated 8 keys for 0xXXXX... vault. Keystores saved to /srv/stakewise/0xXXXX.../keystores file Deposit data saved to /srv/stakewise/0xXXXX.../deposit_data.json file
nano /srv/stakewise/0xXXXX.../keystores/password.txt
Create Hot wallet
sudo /usr/local/bin/stakewise-operator create-wallet --data-dir /srv/stakewise
Response is
Done. The wallet and password saved to /srv/stakewise/0xXXXX.../wallet directory. The wallet address is: 0xXXXX...
- On offline PC, generate deposit keys with the Vault withdrawal's address
- Upload deposit file to the Vault
- Create Hot wallet...
-
Upload deposit file to the vault
Download deposit_data file through
scp
scp -P PORT -i ~/.ssh/file -r userName@IP:/srv/stakewise/0xXXXX.../deposit_data.json deposit_data.json
Copy the deposit fril from disk and uplaod it over web - click on "Settings" and open the "Deposit Data" tab.
-
Create a StakeWise Operator service
sudo useradd --system --no-create-home --shell /bin/false stakewise-v1
sudo mkdir -p /var/lib/stakewise/0xXXXX...
sudo chown -R stakewise-v1:stakewise-v1 /srv/stakewise/0xXXXX...
sudo chown -R stakewise-v1:stakewise-v1 /var/lib/stakewise/0xXXXX...
Configurate the service
sudo nano /etc/systemd/system/stakewise-v1.service
[Unit] Description=Stakewise service - vault 1 (Gnossis Mainnet) After=network.target Wants=network.target [Service] User=stakewise-v1 Group=stakewise-v1 Type=simple Restart=always RestartSec=5 ExecStart=/usr/local/bin/stakewise-operator start \ --network gnosis \ --vault 0x10A2b1CC775eEbF6a7a0A5e733f809626142a3f5 \ --data-dir /srv/stakewise \ --database-dir /var/lib/stakewise/0xXXXX... \ --execution-jwt-secret /var/lib/jwtsecret/jwt.hex \ --consensus-endpoints http://127.0.0.1:9596 \ --execution-endpoints http://127.0.0.1:8545 [Install] WantedBy=default.target
sudo systemctl daemon-reload
-
Start the service
sudo systemctl start stakewise-v1
Check the service
systemctl status stakewise-v1
Monitor the service
journalctl -fu stakewise-v1
Output:
2024-07-27 17:20:45 INFO Starting operator service, version v2.1.4 INFO Checking connection to database... INFO Connected to database /var/lib/stakewise/0xXXXX.../operator.db. INFO Checking connection to consensus nodes... INFO Connected to consensus node at http://127.0.0.1:9596. Finalized epoch: 1038841 INFO Checking connection to execution nodes... INFO Connected to execution node at http://127.0.0.1:8545. Current block number: 35182233 INFO Checking vault address 0xXXXX...... INFO Vault withdrawable assets: 0.00 GNO INFO Checking hot wallet balance 0xXXXX... ... INFO Checking connection to ipfs nodes... INFO Connected to ipfs nodes at https://stakewise-v3.infura-ipfs.io, http://cloudflare-ipfs.com, https://gateway.pinata.cloud, https://ipfs.io. INFO Checking connection to oracles set... INFO Connected to oracles at https://gno-stakewise-v3-oracle.pn.prod.fcstech.de, https://gnosis-oracle.stakewise.io, https://stakewise-oracle-gnosis.chorus.one, https://stakewise-oracle-gno-mainnet-1.gateway.fm, https://sw-oracle-gno.axol.io, https://stakewise-oracle-gc.gnosischain.com, https://gnosis-oracle.stakewise.dsrvlabs.net, https://gnosis-oracle-b.stakewise.io, https://stakewise-oracle-v3-gnosis.bitfly.at, https://stakewise-oracle-gc-2.gnosischain.com, https://stakewise-oracle-gnosis.senseinode.com INFO Checking deposit data file... INFO Found deposit data file /srv/stakewise/0xXXXX.../deposit_data.json INFO Checking keystores dir... INFO Found keystores dir INFO Loading keys from /srv/stakewise/0xXXXX.../keystores... INFO Loaded 8 keys INFO Loaded deposit data file /srv/stakewise/0xXXXX.../deposit_data.json INFO Syncing network validator events... INFO Updating oracles cache... INFO Started operator service
Enable auto launch on OS startup
sudo systemctl enable stakewise-v1