Update project to use new account serialization format (#5848)
This commit is contained in:
parent
9dc5da7dbd
commit
468095ede2
|
@ -25,6 +25,7 @@ serde_json = "1.0.40"
|
||||||
serde_yaml = "0.8.9"
|
serde_yaml = "0.8.9"
|
||||||
# solana-runtime = { path = "../solana/runtime"}
|
# solana-runtime = { path = "../solana/runtime"}
|
||||||
solana-core = { path = "../core", version = "0.19.0-pre0" }
|
solana-core = { path = "../core", version = "0.19.0-pre0" }
|
||||||
|
solana-genesis = { path = "../genesis", version = "0.19.0-pre0" }
|
||||||
solana-local-cluster = { path = "../local_cluster", version = "0.19.0-pre0" }
|
solana-local-cluster = { path = "../local_cluster", version = "0.19.0-pre0" }
|
||||||
solana-client = { path = "../client", version = "0.19.0-pre0" }
|
solana-client = { path = "../client", version = "0.19.0-pre0" }
|
||||||
solana-drone = { path = "../drone", version = "0.19.0-pre0" }
|
solana-drone = { path = "../drone", version = "0.19.0-pre0" }
|
||||||
|
|
|
@ -11,14 +11,15 @@ use solana_drone::drone::request_airdrop_transaction;
|
||||||
use solana_exchange_api::exchange_instruction;
|
use solana_exchange_api::exchange_instruction;
|
||||||
use solana_exchange_api::exchange_state::*;
|
use solana_exchange_api::exchange_state::*;
|
||||||
use solana_exchange_api::id;
|
use solana_exchange_api::id;
|
||||||
|
use solana_genesis::PrimordialAccountDetails;
|
||||||
use solana_metrics::datapoint_info;
|
use solana_metrics::datapoint_info;
|
||||||
use solana_sdk::client::Client;
|
use solana_sdk::client::Client;
|
||||||
use solana_sdk::client::SyncClient;
|
use solana_sdk::client::SyncClient;
|
||||||
use solana_sdk::pubkey::Pubkey;
|
use solana_sdk::pubkey::Pubkey;
|
||||||
use solana_sdk::signature::{Keypair, KeypairUtil};
|
use solana_sdk::signature::{Keypair, KeypairUtil};
|
||||||
use solana_sdk::system_instruction;
|
|
||||||
use solana_sdk::timing::{duration_as_ms, duration_as_s};
|
use solana_sdk::timing::{duration_as_ms, duration_as_s};
|
||||||
use solana_sdk::transaction::Transaction;
|
use solana_sdk::transaction::Transaction;
|
||||||
|
use solana_sdk::{system_instruction, system_program};
|
||||||
use std::cmp;
|
use std::cmp;
|
||||||
use std::collections::{HashMap, VecDeque};
|
use std::collections::{HashMap, VecDeque};
|
||||||
use std::fs::File;
|
use std::fs::File;
|
||||||
|
@ -88,7 +89,12 @@ pub fn create_client_accounts_file(
|
||||||
keypairs.iter().for_each(|keypair| {
|
keypairs.iter().for_each(|keypair| {
|
||||||
accounts.insert(
|
accounts.insert(
|
||||||
serde_json::to_string(&keypair.to_bytes().to_vec()).unwrap(),
|
serde_json::to_string(&keypair.to_bytes().to_vec()).unwrap(),
|
||||||
fund_amount,
|
PrimordialAccountDetails {
|
||||||
|
balance: fund_amount,
|
||||||
|
executable: false,
|
||||||
|
owner: system_program::id().to_string(),
|
||||||
|
data: String::new(),
|
||||||
|
},
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,7 @@ serde_derive = "1.0.99"
|
||||||
serde_json = "1.0.40"
|
serde_json = "1.0.40"
|
||||||
serde_yaml = "0.8.9"
|
serde_yaml = "0.8.9"
|
||||||
solana-core = { path = "../core", version = "0.19.0-pre0" }
|
solana-core = { path = "../core", version = "0.19.0-pre0" }
|
||||||
|
solana-genesis = { path = "../genesis", version = "0.19.0-pre0" }
|
||||||
solana-local-cluster = { path = "../local_cluster", version = "0.19.0-pre0" }
|
solana-local-cluster = { path = "../local_cluster", version = "0.19.0-pre0" }
|
||||||
solana-client = { path = "../client", version = "0.19.0-pre0" }
|
solana-client = { path = "../client", version = "0.19.0-pre0" }
|
||||||
solana-drone = { path = "../drone", version = "0.19.0-pre0" }
|
solana-drone = { path = "../drone", version = "0.19.0-pre0" }
|
||||||
|
|
|
@ -9,8 +9,10 @@ use crate::bench::{
|
||||||
do_bench_tps, generate_and_fund_keypairs, generate_keypairs, Config, NUM_LAMPORTS_PER_ACCOUNT,
|
do_bench_tps, generate_and_fund_keypairs, generate_keypairs, Config, NUM_LAMPORTS_PER_ACCOUNT,
|
||||||
};
|
};
|
||||||
use solana_core::gossip_service::{discover_cluster, get_multi_client};
|
use solana_core::gossip_service::{discover_cluster, get_multi_client};
|
||||||
|
use solana_genesis::PrimordialAccountDetails;
|
||||||
use solana_sdk::fee_calculator::FeeCalculator;
|
use solana_sdk::fee_calculator::FeeCalculator;
|
||||||
use solana_sdk::signature::{Keypair, KeypairUtil};
|
use solana_sdk::signature::{Keypair, KeypairUtil};
|
||||||
|
use solana_sdk::system_program;
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
use std::fs::File;
|
use std::fs::File;
|
||||||
use std::io::prelude::*;
|
use std::io::prelude::*;
|
||||||
|
@ -55,7 +57,12 @@ fn main() {
|
||||||
keypairs.iter().for_each(|keypair| {
|
keypairs.iter().for_each(|keypair| {
|
||||||
accounts.insert(
|
accounts.insert(
|
||||||
serde_json::to_string(&keypair.to_bytes().to_vec()).unwrap(),
|
serde_json::to_string(&keypair.to_bytes().to_vec()).unwrap(),
|
||||||
num_lamports_per_account,
|
PrimordialAccountDetails {
|
||||||
|
balance: num_lamports_per_account,
|
||||||
|
executable: false,
|
||||||
|
owner: system_program::id().to_string(),
|
||||||
|
data: String::new(),
|
||||||
|
},
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
|
#[derive(Serialize, Deserialize, Debug)]
|
||||||
|
pub struct PrimordialAccountDetails {
|
||||||
|
pub balance: u64,
|
||||||
|
pub owner: String,
|
||||||
|
pub data: String,
|
||||||
|
pub executable: bool,
|
||||||
|
}
|
|
@ -2,8 +2,8 @@
|
||||||
|
|
||||||
use base64;
|
use base64;
|
||||||
use clap::{crate_description, crate_name, crate_version, value_t_or_exit, App, Arg};
|
use clap::{crate_description, crate_name, crate_version, value_t_or_exit, App, Arg};
|
||||||
use serde::{Deserialize, Serialize};
|
|
||||||
use solana_core::blocktree::create_new_ledger;
|
use solana_core::blocktree::create_new_ledger;
|
||||||
|
use solana_genesis::PrimordialAccountDetails;
|
||||||
use solana_sdk::account::Account;
|
use solana_sdk::account::Account;
|
||||||
use solana_sdk::clock;
|
use solana_sdk::clock;
|
||||||
use solana_sdk::fee_calculator::FeeCalculator;
|
use solana_sdk::fee_calculator::FeeCalculator;
|
||||||
|
@ -33,14 +33,6 @@ pub enum AccountFileFormat {
|
||||||
Keypair,
|
Keypair,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize, Debug)]
|
|
||||||
pub struct PrimordialAccountDetails {
|
|
||||||
balance: u64,
|
|
||||||
owner: String,
|
|
||||||
data: String,
|
|
||||||
executable: bool,
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn append_primordial_accounts(
|
pub fn append_primordial_accounts(
|
||||||
file: &str,
|
file: &str,
|
||||||
file_format: AccountFileFormat,
|
file_format: AccountFileFormat,
|
||||||
|
|
|
@ -110,10 +110,17 @@ local|tar|skip)
|
||||||
rm -rf ./solana-node-balances
|
rm -rf ./solana-node-balances
|
||||||
mkdir ./solana-node-balances
|
mkdir ./solana-node-balances
|
||||||
if [[ -n $internalNodesLamports ]]; then
|
if [[ -n $internalNodesLamports ]]; then
|
||||||
|
echo "---" >> ./solana-node-balances/fullnode-balances.yml
|
||||||
for i in $(seq 0 "$numNodes"); do
|
for i in $(seq 0 "$numNodes"); do
|
||||||
solana-keygen new -o ./solana-node-keys/"$i"
|
solana-keygen new -o ./solana-node-keys/"$i"
|
||||||
pubkey="$(solana-keygen pubkey ./solana-node-keys/"$i")"
|
pubkey="$(solana-keygen pubkey ./solana-node-keys/"$i")"
|
||||||
echo "${pubkey}: $internalNodesLamports" >> ./solana-node-balances/fullnode-balances.yml
|
cat >> ./solana-node-balances/fullnode-balances.yml <<EOF
|
||||||
|
$pubkey:
|
||||||
|
balance: $internalNodesLamports
|
||||||
|
owner: 11111111111111111111111111111111
|
||||||
|
data:
|
||||||
|
executable: false
|
||||||
|
EOF
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue