From a6a4cfda89ed4862c006876375e29972a27667a9 Mon Sep 17 00:00:00 2001 From: Tyera Eulberg Date: Thu, 7 Oct 2021 19:08:29 -0600 Subject: [PATCH] Enable easy full-rpc services on testnet nodes (#20529) --- net/net.sh | 8 ++++++++ net/remote/remote-node.sh | 17 ++++++++++++++--- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/net/net.sh b/net/net.sh index d531d4569e..8a04a362cc 100755 --- a/net/net.sh +++ b/net/net.sh @@ -105,6 +105,8 @@ Operate a configured testnet - Override the number of slots in an epoch --warp-slot WARP_SLOT - Boot from a snapshot that has warped ahead to WARP_SLOT rather than a slot 0 genesis. + --full-rpc + - Support full RPC services on all nodes sanity/start-specific options: -F - Discard validator nodes that didn't bootup successfully -o noInstallCheck - Skip solana-install sanity @@ -310,6 +312,7 @@ startBootstrapLeader() { \"$maybeNoSnapshot $maybeSkipLedgerVerify $maybeLimitLedgerSize $maybeWaitForSupermajority $maybeAllowPrivateAddr $maybeAccountsDbSkipShrink $maybeSkipRequireTower\" \ \"$gpuMode\" \ \"$maybeWarpSlot\" \ + \"$maybeFullRpc\" \ \"$waitForNodeInit\" \ \"$extraPrimordialStakes\" \ \"$TMPFS_ACCOUNTS\" \ @@ -381,6 +384,7 @@ startNode() { \"$maybeNoSnapshot $maybeSkipLedgerVerify $maybeLimitLedgerSize $maybeWaitForSupermajority $maybeAllowPrivateAddr $maybeAccountsDbSkipShrink $maybeSkipRequireTower\" \ \"$gpuMode\" \ \"$maybeWarpSlot\" \ + \"$maybeFullRpc\" \ \"$waitForNodeInit\" \ \"$extraPrimordialStakes\" \ \"$TMPFS_ACCOUNTS\" \ @@ -788,6 +792,7 @@ netemCommand="add" clientDelayStart=0 netLogDir= maybeWarpSlot= +maybeFullRpc=false waitForNodeInit=true extraPrimordialStakes=0 @@ -896,6 +901,9 @@ while [[ -n $1 ]]; do elif [[ $1 == --warp-slot ]]; then maybeWarpSlot="$1 $2" shift 2 + elif [[ $1 == --full-rpc ]]; then + maybeFullRpc=true + shift 1 elif [[ $1 == --async-node-init ]]; then waitForNodeInit=false shift 1 diff --git a/net/remote/remote-node.sh b/net/remote/remote-node.sh index 18958a8780..eedb35672d 100755 --- a/net/remote/remote-node.sh +++ b/net/remote/remote-node.sh @@ -24,9 +24,10 @@ genesisOptions="${15}" extraNodeArgs="${16}" gpuMode="${17:-auto}" maybeWarpSlot="${18}" -waitForNodeInit="${19}" -extraPrimordialStakes="${20:=0}" -tmpfsAccounts="${21:false}" +maybeFullRpc="${19}" +waitForNodeInit="${20}" +extraPrimordialStakes="${21:=0}" +tmpfsAccounts="${22:false}" set +x missing() { @@ -277,6 +278,11 @@ EOF args+=(--accounts /mnt/solana-accounts) fi + if $maybeFullRpc; then + args+=(--enable-rpc-transaction-history) + args+=(--enable-cpi-and-log-storage) + fi + if [[ $airdropsEnabled = true ]]; then cat >> ~/solana/on-reboot < faucet.log 2>&1 & @@ -400,6 +406,11 @@ EOF args+=(--accounts /mnt/solana-accounts) fi + if $maybeFullRpc; then + args+=(--enable-rpc-transaction-history) + args+=(--enable-cpi-and-log-storage) + fi + cat >> ~/solana/on-reboot < validator.log.\$now 2>&1 &