The fullnode identity keypair can now be provided via --identity (#4228)
automerge
This commit is contained in:
@ -104,25 +104,31 @@ $ solana-gossip --network testnet.solana.com:8001 spy
|
|||||||
# Press ^C to exit
|
# Press ^C to exit
|
||||||
```
|
```
|
||||||
|
|
||||||
Then the following command will start a new validator node.
|
Now configure a key pair for your validator by running:
|
||||||
|
```bash
|
||||||
|
$ solana-keygen -o fullnode-keypair.json
|
||||||
|
```
|
||||||
|
|
||||||
|
Then use one of the following commands, depending on your installation
|
||||||
|
choice, to start the node:
|
||||||
|
|
||||||
If this is a `solana-install`-installation:
|
If this is a `solana-install`-installation:
|
||||||
```bash
|
```bash
|
||||||
$ clear-fullnode-config.sh
|
$ clear-fullnode-config.sh
|
||||||
$ fullnode.sh --poll-for-new-genesis-block testnet.solana.com
|
$ fullnode.sh --identity fullnode-keypair.json --poll-for-new-genesis-block testnet.solana.com
|
||||||
```
|
```
|
||||||
|
|
||||||
Alternatively, the `solana-install run` command can be used to run the validator
|
Alternatively, the `solana-install run` command can be used to run the validator
|
||||||
node while periodically checking for and applying software updates:
|
node while periodically checking for and applying software updates:
|
||||||
```bash
|
```bash
|
||||||
$ clear-fullnode-config.sh
|
$ clear-fullnode-config.sh
|
||||||
$ solana-install run fullnode.sh -- --poll-for-new-genesis-block testnet.solana.com
|
$ solana-install run fullnode.sh -- --identity fullnode-keypair.json --poll-for-new-genesis-block testnet.solana.com
|
||||||
```
|
```
|
||||||
|
|
||||||
If you built from source:
|
If you built from source:
|
||||||
```bash
|
```bash
|
||||||
$ USE_INSTALL=1 ./multinode-demo/clear-fullnode-config.sh
|
$ USE_INSTALL=1 ./multinode-demo/clear-fullnode-config.sh
|
||||||
$ USE_INSTALL=1 ./multinode-demo/fullnode.sh --poll-for-new-genesis-block testnet.solana.com
|
$ USE_INSTALL=1 ./multinode-demo/fullnode.sh --identity fullnode-keypair.json --poll-for-new-genesis-block testnet.solana.com
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Controlling local network port allocation
|
#### Controlling local network port allocation
|
||||||
@ -132,35 +138,40 @@ example, `fullnode.sh --dynamic-port-range 11000-11010 ...` will restrict the
|
|||||||
validator to ports 11000-11011.
|
validator to ports 11000-11011.
|
||||||
|
|
||||||
### Validator Monitoring
|
### Validator Monitoring
|
||||||
|
When `fullnode.sh` starts, it will output a fullnode configuration that looks
|
||||||
|
similar to:
|
||||||
|
```bash
|
||||||
|
======================[ Fullnode configuration ]======================
|
||||||
|
node pubkey: 4ceWXsL3UJvn7NYZiRkw7NsryMpviaKBDYr8GK7J61Dm
|
||||||
|
vote pubkey: 2ozWvfaXQd1X6uKh8jERoRGApDqSqcEy6fF1oN13LL2G
|
||||||
|
ledger: ...
|
||||||
|
accounts: ...
|
||||||
|
======================================================================
|
||||||
|
```
|
||||||
|
|
||||||
|
The **node pubkey** for your validator can also be found by running:
|
||||||
|
```bash
|
||||||
|
$ solana-keygen pubkey fullnode-keypair.json
|
||||||
|
```
|
||||||
|
|
||||||
From another console, confirm the IP address of your validator is visible in the
|
From another console, confirm the IP address of your validator is visible in the
|
||||||
gossip network by running:
|
gossip network by running:
|
||||||
```bash
|
```bash
|
||||||
$ solana-gossip --network testnet.solana.com:8001 spy
|
$ solana-gossip --network testnet.solana.com:8001 spy
|
||||||
```
|
```
|
||||||
|
|
||||||
When `fullnode.sh` starts, it will output a fullnode configuration that looks
|
Provide the **vote pubkey** to the `solana-wallet show-vote-account` command to view
|
||||||
similar to:
|
|
||||||
```bash
|
|
||||||
======================[ Fullnode configuration ]======================
|
|
||||||
node id: 4ceWXsL3UJvn7NYZiRkw7NsryMpviaKBDYr8GK7J61Dm
|
|
||||||
vote id: 2ozWvfaXQd1X6uKh8jERoRGApDqSqcEy6fF1oN13LL2G
|
|
||||||
ledger: ...
|
|
||||||
accounts: ...
|
|
||||||
======================================================================
|
|
||||||
```
|
|
||||||
|
|
||||||
Provide the **vote id** pubkey to the `solana-wallet show-vote-account` command to view
|
|
||||||
the recent voting activity from your validator:
|
the recent voting activity from your validator:
|
||||||
```bash
|
```bash
|
||||||
$ solana-wallet -n testnet.solana.com show-vote-account 2ozWvfaXQd1X6uKh8jERoRGApDqSqcEy6fF1oN13LL2G
|
$ solana-wallet -n testnet.solana.com show-vote-account 2ozWvfaXQd1X6uKh8jERoRGApDqSqcEy6fF1oN13LL2G
|
||||||
```
|
```
|
||||||
|
|
||||||
The vote id for the validator can also be found by running:
|
The vote pubkey for the validator can also be found by running:
|
||||||
```bash
|
```bash
|
||||||
# If this is a `solana-install`-installation run:
|
# If this is a `solana-install`-installation run:
|
||||||
$ solana-keygen pubkey ~/.local/share/solana/install/active_release/config-local/fullnode-vote-id.json
|
$ solana-keygen pubkey ~/.local/share/solana/install/active_release/config-local/fullnode-vote-keypair.json
|
||||||
# Otherwise run:
|
# Otherwise run:
|
||||||
$ solana-keygen pubkey ./config-local/fullnode-vote-id.json
|
$ solana-keygen pubkey ./config-local/fullnode-vote-keypair.json
|
||||||
```
|
```
|
||||||
|
|
||||||
### Sharing Metrics From Your Validator
|
### Sharing Metrics From Your Validator
|
||||||
|
@ -16,6 +16,7 @@ extra_fullnode_args=()
|
|||||||
stake=43 # number of lamports to assign as stake (plus transaction fee to setup the stake)
|
stake=43 # number of lamports to assign as stake (plus transaction fee to setup the stake)
|
||||||
poll_for_new_genesis_block=0
|
poll_for_new_genesis_block=0
|
||||||
label=
|
label=
|
||||||
|
fullnode_id_path=
|
||||||
|
|
||||||
while [[ ${1:0:1} = - ]]; do
|
while [[ ${1:0:1} = - ]]; do
|
||||||
if [[ $1 = --label ]]; then
|
if [[ $1 = --label ]]; then
|
||||||
@ -28,6 +29,10 @@ while [[ ${1:0:1} = - ]]; do
|
|||||||
stake=0
|
stake=0
|
||||||
extra_fullnode_args+=("$1" "$2")
|
extra_fullnode_args+=("$1" "$2")
|
||||||
shift 2
|
shift 2
|
||||||
|
elif [[ $1 = --identity ]]; then
|
||||||
|
fullnode_id_path=$2
|
||||||
|
args+=("$1" "$2")
|
||||||
|
shift 2
|
||||||
elif [[ $1 = --enable-rpc-exit ]]; then
|
elif [[ $1 = --enable-rpc-exit ]]; then
|
||||||
extra_fullnode_args+=("$1")
|
extra_fullnode_args+=("$1")
|
||||||
shift
|
shift
|
||||||
|
@ -9,6 +9,7 @@ source "$here"/common.sh
|
|||||||
# shellcheck source=scripts/oom-score-adj.sh
|
# shellcheck source=scripts/oom-score-adj.sh
|
||||||
source "$here"/../scripts/oom-score-adj.sh
|
source "$here"/../scripts/oom-score-adj.sh
|
||||||
|
|
||||||
|
|
||||||
# shellcheck source=multinode-demo/extra-fullnode-args.sh
|
# shellcheck source=multinode-demo/extra-fullnode-args.sh
|
||||||
source "$here"/extra-fullnode-args.sh
|
source "$here"/extra-fullnode-args.sh
|
||||||
|
|
||||||
@ -41,8 +42,8 @@ else
|
|||||||
program=$solana_fullnode
|
program=$solana_fullnode
|
||||||
fi
|
fi
|
||||||
|
|
||||||
fullnode_id_path=$SOLANA_CONFIG_DIR/fullnode-id$label.json
|
: "${fullnode_id_path:=$SOLANA_CONFIG_DIR/fullnode-keypair$label.json}"
|
||||||
fullnode_vote_id_path=$SOLANA_CONFIG_DIR/fullnode-vote-id$label.json
|
fullnode_vote_id_path=$SOLANA_CONFIG_DIR/fullnode-vote-keypair$label.json
|
||||||
ledger_config_dir=$SOLANA_CONFIG_DIR/fullnode-ledger$label
|
ledger_config_dir=$SOLANA_CONFIG_DIR/fullnode-ledger$label
|
||||||
accounts_config_dir=$SOLANA_CONFIG_DIR/fullnode-accounts$label
|
accounts_config_dir=$SOLANA_CONFIG_DIR/fullnode-accounts$label
|
||||||
|
|
||||||
@ -55,8 +56,8 @@ fullnode_vote_id=$($solana_keygen pubkey "$fullnode_vote_id_path")
|
|||||||
|
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
======================[ Fullnode configuration ]======================
|
======================[ Fullnode configuration ]======================
|
||||||
node id: $fullnode_id
|
node pubkey: $fullnode_id
|
||||||
vote id: $fullnode_vote_id
|
vote pubkey: $fullnode_vote_id
|
||||||
ledger: $ledger_config_dir
|
ledger: $ledger_config_dir
|
||||||
accounts: $accounts_config_dir
|
accounts: $accounts_config_dir
|
||||||
======================================================================
|
======================================================================
|
||||||
|
Reference in New Issue
Block a user