MacOS

For macOS, you need to compile the source code manually.

Requirements dependencies

Go

https://go.dev/doc/install version=1.19+

Python3

Launch environment

git clone https://github.com/opside-protocol/opside-chain-testnet-pre-alpha-node-local-run.git
cd opside-chain-testnet-pre-alpha-node-local-run/

Compile

Compile consensus client

git clone https://github.com/opside-protocol/prysm.git
git checkout --no-track -b Branch_v4.0.3 v4.0.3 --
cd ./prysm
mkdir ./bin/
go build -o=./bin/beacon-chain ./cmd/beacon-chain
go build -o=./bin/validator ./cmd/validator

Copy the beacon-chain located in ./bin/ directory into opside-chain-testnet-pre-alpha-node-local-run/prysm/beaconChain/

Copy the validator directory into opside-chain-testnet-pre-alpha-node-local-run/prysm/validator/

Compile execution client

git clone https://github.com/opside-protocol/go-ethereum.git
git checkout --no-track -b Branch_v1.11.6 v1.11.6 --
cd ./go-ethereum
make geth

Copy ./build/bin/geth into opside-chain-testnet-pre-alpha-node-local-run/geth/

Generate validator keystore

Installation

git clone https://github.com/opside-protocol/opside-staking-deposit-cli.git
cd opside-staking-deposit-cli/
./deposit.sh install

Generate

  • Use new mnemonic

./deposit.sh new-mnemonic
  • Use existing mnemonic

./deposit.sh existing-mnemonic

Generate validator keystore following CLI prompts, then copy keystore-*.json located in directory opside-staking-deposit-cli/validator_keys/ into opside-chain-testnet-pre-alpha-node-local-run/prysm/validator/config/wallet/

Configure

Create values.env in directory opside-chain-testnet-pre-alpha-node-local-run/config/

then

export WITHDRAWAL=<withdrwal opside address>
export PASSWORD=<password encrypting your validator key>

Create jwt

cd opside-chain-testnet-pre-alpha-node-local-run
echo -n 0x$(openssl rand -hex 32 | tr -d "\n") > ./geth/config/jwtsecret
cp ./geth/config/jwtsecret ./prysm/beaconChain/config/jwtsecret

Run a validator

Run execution node

cd opside-chain-testnet-pre-alpha-node-local-run
cp ./config/values.env ./geth
./start-geth.sh

Run consensus node

cd opside-chain-testnet-pre-alpha-node-local-run
cp ./config/values.env ./prysm/beaconChain
./start-beaconChain.sh

Run validator node

cd opside-chain-testnet-pre-alpha-node-local-run
cp ./config/values.env ./prysm/validator/
./start-validator.sh

Check logs

Refer to Check logs.

Deposit

Refer to Deposit.

Last updated