Add bootstrap storage account to genesis (#4359)
* Add bootstrap storage account to genesis * Add storage account genesis command to run.sh * Update airdrop for all validators * Remove unhelpful Short for arg * Set the correct program owner
This commit is contained in:
parent
f1e5edee14
commit
d15e248cdb
|
@ -97,6 +97,14 @@ fn main() -> Result<(), Box<dyn error::Error>> {
|
||||||
.required(true)
|
.required(true)
|
||||||
.help("Path to file containing the bootstrap leader's staking keypair"),
|
.help("Path to file containing the bootstrap leader's staking keypair"),
|
||||||
)
|
)
|
||||||
|
.arg(
|
||||||
|
Arg::with_name("bootstrap_storage_keypair_file")
|
||||||
|
.long("bootstrap-storage-keypair")
|
||||||
|
.value_name("BOOTSTRAP STORAGE KEYPAIR")
|
||||||
|
.takes_value(true)
|
||||||
|
.required(true)
|
||||||
|
.help("Path to file containing the bootstrap leader's storage keypair"),
|
||||||
|
)
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("bootstrap_leader_lamports")
|
Arg::with_name("bootstrap_leader_lamports")
|
||||||
.long("bootstrap-leader-lamports")
|
.long("bootstrap-leader-lamports")
|
||||||
|
@ -156,6 +164,8 @@ fn main() -> Result<(), Box<dyn error::Error>> {
|
||||||
let bootstrap_leader_keypair_file = matches.value_of("bootstrap_leader_keypair_file").unwrap();
|
let bootstrap_leader_keypair_file = matches.value_of("bootstrap_leader_keypair_file").unwrap();
|
||||||
let bootstrap_vote_keypair_file = matches.value_of("bootstrap_vote_keypair_file").unwrap();
|
let bootstrap_vote_keypair_file = matches.value_of("bootstrap_vote_keypair_file").unwrap();
|
||||||
let bootstrap_stake_keypair_file = matches.value_of("bootstrap_stake_keypair_file").unwrap();
|
let bootstrap_stake_keypair_file = matches.value_of("bootstrap_stake_keypair_file").unwrap();
|
||||||
|
let bootstrap_storage_keypair_file =
|
||||||
|
matches.value_of("bootstrap_storage_keypair_file").unwrap();
|
||||||
let mint_keypair_file = matches.value_of("mint_keypair_file").unwrap();
|
let mint_keypair_file = matches.value_of("mint_keypair_file").unwrap();
|
||||||
let ledger_path = matches.value_of("ledger_path").unwrap();
|
let ledger_path = matches.value_of("ledger_path").unwrap();
|
||||||
let lamports = value_t_or_exit!(matches, "lamports", u64);
|
let lamports = value_t_or_exit!(matches, "lamports", u64);
|
||||||
|
@ -165,6 +175,7 @@ fn main() -> Result<(), Box<dyn error::Error>> {
|
||||||
let bootstrap_leader_keypair = read_keypair(bootstrap_leader_keypair_file)?;
|
let bootstrap_leader_keypair = read_keypair(bootstrap_leader_keypair_file)?;
|
||||||
let bootstrap_vote_keypair = read_keypair(bootstrap_vote_keypair_file)?;
|
let bootstrap_vote_keypair = read_keypair(bootstrap_vote_keypair_file)?;
|
||||||
let bootstrap_stake_keypair = read_keypair(bootstrap_stake_keypair_file)?;
|
let bootstrap_stake_keypair = read_keypair(bootstrap_stake_keypair_file)?;
|
||||||
|
let bootstrap_storage_keypair = read_keypair(bootstrap_storage_keypair_file)?;
|
||||||
let mint_keypair = read_keypair(mint_keypair_file)?;
|
let mint_keypair = read_keypair(mint_keypair_file)?;
|
||||||
|
|
||||||
// TODO: de-duplicate the stake once passive staking
|
// TODO: de-duplicate the stake once passive staking
|
||||||
|
@ -201,6 +212,11 @@ fn main() -> Result<(), Box<dyn error::Error>> {
|
||||||
bootstrap_leader_stake_lamports,
|
bootstrap_leader_stake_lamports,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
// storage account
|
||||||
|
(
|
||||||
|
bootstrap_storage_keypair.pubkey(),
|
||||||
|
Account::new(1, 1024 * 4, &solana_storage_api::id()),
|
||||||
|
),
|
||||||
],
|
],
|
||||||
&[
|
&[
|
||||||
solana_vote_program!(),
|
solana_vote_program!(),
|
||||||
|
|
|
@ -92,7 +92,8 @@ setup_vote_and_stake_accounts() {
|
||||||
if [[ -f "$node_keypair_path".configured ]]; then
|
if [[ -f "$node_keypair_path".configured ]]; then
|
||||||
echo "Vote and stake accounts have already been configured"
|
echo "Vote and stake accounts have already been configured"
|
||||||
else
|
else
|
||||||
$solana_wallet --keypair "$node_keypair_path" --url "http://$entrypoint_ip:8899" airdrop $((stake*2+1)) || return $?
|
# Fund the node with enough tokens to fund its Vote, Staking, and Storage accounts
|
||||||
|
$solana_wallet --keypair "$node_keypair_path" --url "http://$entrypoint_ip:8899" airdrop $((stake*2+2)) || return $?
|
||||||
|
|
||||||
# Fund the vote account from the node, with the node as the node_pubkey
|
# Fund the vote account from the node, with the node as the node_pubkey
|
||||||
$solana_wallet --keypair "$node_keypair_path" --url "http://$entrypoint_ip:8899" \
|
$solana_wallet --keypair "$node_keypair_path" --url "http://$entrypoint_ip:8899" \
|
||||||
|
|
|
@ -18,6 +18,7 @@ args=("$@")
|
||||||
default_arg --bootstrap-leader-keypair "$SOLANA_CONFIG_DIR"/bootstrap-leader-keypair.json
|
default_arg --bootstrap-leader-keypair "$SOLANA_CONFIG_DIR"/bootstrap-leader-keypair.json
|
||||||
default_arg --bootstrap-vote-keypair "$SOLANA_CONFIG_DIR"/bootstrap-leader-vote-keypair.json
|
default_arg --bootstrap-vote-keypair "$SOLANA_CONFIG_DIR"/bootstrap-leader-vote-keypair.json
|
||||||
default_arg --bootstrap-stake-keypair "$SOLANA_CONFIG_DIR"/bootstrap-leader-stake-keypair.json
|
default_arg --bootstrap-stake-keypair "$SOLANA_CONFIG_DIR"/bootstrap-leader-stake-keypair.json
|
||||||
|
default_arg --bootstrap-storage-keypair "$SOLANA_CONFIG_DIR"/bootstrap-leader-storage-keypair.json
|
||||||
default_arg --ledger "$SOLANA_RSYNC_CONFIG_DIR"/ledger
|
default_arg --ledger "$SOLANA_RSYNC_CONFIG_DIR"/ledger
|
||||||
default_arg --mint "$SOLANA_CONFIG_DIR"/mint-keypair.json
|
default_arg --mint "$SOLANA_CONFIG_DIR"/mint-keypair.json
|
||||||
default_arg --lamports 100000000000000
|
default_arg --lamports 100000000000000
|
||||||
|
|
3
run.sh
3
run.sh
|
@ -44,7 +44,7 @@ solana-keygen -o "$dataDir"/config/leader-keypair.json
|
||||||
solana-keygen -o "$dataDir"/config/leader-vote-account-keypair.json
|
solana-keygen -o "$dataDir"/config/leader-vote-account-keypair.json
|
||||||
solana-keygen -o "$dataDir"/config/leader-stake-account-keypair.json
|
solana-keygen -o "$dataDir"/config/leader-stake-account-keypair.json
|
||||||
solana-keygen -o "$dataDir"/config/drone-keypair.json
|
solana-keygen -o "$dataDir"/config/drone-keypair.json
|
||||||
solana-keygen -o "$dataDir"/config/storage-keypair.json
|
solana-keygen -o "$dataDir"/config/leader-storage-account-keypair.json
|
||||||
|
|
||||||
leaderVoteAccountPubkey=$(\
|
leaderVoteAccountPubkey=$(\
|
||||||
solana-wallet \
|
solana-wallet \
|
||||||
|
@ -61,6 +61,7 @@ solana-genesis \
|
||||||
--bootstrap-leader-keypair "$dataDir"/config/leader-keypair.json \
|
--bootstrap-leader-keypair "$dataDir"/config/leader-keypair.json \
|
||||||
--bootstrap-vote-keypair "$dataDir"/config/leader-vote-account-keypair.json \
|
--bootstrap-vote-keypair "$dataDir"/config/leader-vote-account-keypair.json \
|
||||||
--bootstrap-stake-keypair "$dataDir"/config/leader-stake-account-keypair.json \
|
--bootstrap-stake-keypair "$dataDir"/config/leader-stake-account-keypair.json \
|
||||||
|
--bootstrap-storage-keypair "$dataDir"/config/leader-storage-account-keypair.json \
|
||||||
--ledger "$dataDir"/ledger
|
--ledger "$dataDir"/ledger
|
||||||
|
|
||||||
solana-drone --keypair "$dataDir"/config/drone-keypair.json &
|
solana-drone --keypair "$dataDir"/config/drone-keypair.json &
|
||||||
|
|
Loading…
Reference in New Issue