==2000 SANs per validator (20 000 SANs max cup for send)==
Running SANR Network node in readonly mode
cd /opt/sanchain/readonly
git pull
nano .env
EXTERNAL_IP
=Server external address
NUM_VALIDATORS
=1
(put here validators amount what you want to run - maximum 10 validators per node)
REWARD_RECIPIENT_ADDRESS
=Reward recipient address (you should have access to this account)
Follow these steps:
Choose language: English
Specify the number of validators: 1
(put here validators amount from step 1.3)
Enter account address from .env (REWARD_RECIPIENT_ADDRESS) (you should have access to this account)
Confirm account address
Choose language: English
Enter a password for the validator keystore (record and store in a secure place)
Confirm the password
The generated mnemonic will be displayed (record and store in a secure place)
Enter the mnemonic again
After successful execution, a files/validator_keys
directory will be created.
echo "someStrongPassword" > files/validator.txt
(replace someStrongPassword to password which you want to use)
Wallet password: Enter the password created in Step 3.1
Enter the password for your imported accounts: Enter the password for the validator keystore from Step 2
After successful execution, a files/wallet
folder will be created.
./scripts/gen_home_dir_geth.sh
rm -rf docker-compose.yml
ln -s docker-compose-validator.yml docker-compose.yml
docker compose up -d
5. Calculate and send required SANs amount to ETH Mainnet staking address: 0xbFE5D25956F6D7CF212a24B628c7871A34c4465f
The formula for calculation is your amount of validators
* 2000 SAN
(max 20 000 SANs for stake, because max 10 validators per node)
6. Attach files/validator_keys/deposit_data.json
to dashboard
- CPU 8 CORE
- MEMORY 16 GB
- SSD(NVME) 300 GB
- Static IP 8 MBit/sec broadband
- CPU 16 CORE
- MEMORY 32 GB
- SSD(NVME) 300 GB
- Static IP 10 MBit/sec broadband
mkdir -p /opt/sanchain/readonly
cd /opt/sanchain/readonly
git clone https://github.com/santiment/sanr-pos-network.git .
mv env.example .env
nano .env
EXTERNAL_IP
=Server external address
./scripts/gen_home_dir_geth.sh
ln -s docker-compose-readonly.yml docker-compose.yml
docker compose up -d
cd /opt/sanchain/readonly
docker compose ps
The command's result should have the following statuses:
readonly_geth
status: upreadonly_beacon-chain
status: upreadonly_logrotate
status: up
docker compose logs --tail 1000 -f beacon-chain
This command will display the last 1000 lines of the beacon-chain container log. You should see messages like this:
level=debug msg="Received block" blockSlot=34@4382 graffiti="" prefix=sync proposerIndex=55 sinceSlotStartTime=76.010571ms validationTime=4.057363ms
This indicates that the node is working.
level=info msg="Processing block batch of size 60 starting from 0x9389e285... 449921/486903 - estimated time remaining 16m58s"
This indicates that the node is syncing. Need wait and check again.
cd /opt/sanchain/readonly
docker compose logs --tail 1000 -f beacon-chain
This command will display the last 1000 lines of the validator container log. You should see messages like this:
level=info msg="Submitted new sync message" blockRoot=0xeae8befa51dd prefix=validator slot=501236 slotStartTime=2023-11-01 11:05:04 +0000 UTC timeSinceSlotStart=1.681908152s validatorIndex=71
This indicates that the validator work current.
cd /opt/sanchain/readonly
./scripts/stop_clear.sh
./scripts/gen_home_dir_geth.sh
docker compose up -d
We collect statistics on active nodes (determining network lag, node configuration parameters and etc).
- The ICMP protocol is open.
- The following ports are open:
- 13002/tcp, udp - p2p
- 9102/tcp - stats beacon-chain
- 33003/udp - geth
- ICMP checker: https://www.meter.net/tools/world-ping-test/
- Check open ports: https://www.yougetsignal.com/tools/open-ports/