From 468095ede2f489f8576071c89cc459f98163e7d4 Mon Sep 17 00:00:00 2001 From: Parth Date: Tue, 10 Sep 2019 04:47:10 +0530 Subject: [PATCH] Update project to use new account serialization format (#5848) --- bench-exchange/Cargo.toml | 1 + bench-exchange/src/bench.rs | 10 ++++++++-- bench-tps/Cargo.toml | 1 + bench-tps/src/main.rs | 9 ++++++++- genesis/src/lib.rs | 9 +++++++++ genesis/src/main.rs | 10 +--------- net/remote/remote-node.sh | 9 ++++++++- 7 files changed, 36 insertions(+), 13 deletions(-) create mode 100644 genesis/src/lib.rs diff --git a/bench-exchange/Cargo.toml b/bench-exchange/Cargo.toml index 6c1123ab83..8470dc52cd 100644 --- a/bench-exchange/Cargo.toml +++ b/bench-exchange/Cargo.toml @@ -25,6 +25,7 @@ serde_json = "1.0.40" serde_yaml = "0.8.9" # solana-runtime = { path = "../solana/runtime"} 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-client = { path = "../client", version = "0.19.0-pre0" } solana-drone = { path = "../drone", version = "0.19.0-pre0" } diff --git a/bench-exchange/src/bench.rs b/bench-exchange/src/bench.rs index 963547ad0f..4a35eff791 100644 --- a/bench-exchange/src/bench.rs +++ b/bench-exchange/src/bench.rs @@ -11,14 +11,15 @@ use solana_drone::drone::request_airdrop_transaction; use solana_exchange_api::exchange_instruction; use solana_exchange_api::exchange_state::*; use solana_exchange_api::id; +use solana_genesis::PrimordialAccountDetails; use solana_metrics::datapoint_info; use solana_sdk::client::Client; use solana_sdk::client::SyncClient; use solana_sdk::pubkey::Pubkey; use solana_sdk::signature::{Keypair, KeypairUtil}; -use solana_sdk::system_instruction; use solana_sdk::timing::{duration_as_ms, duration_as_s}; use solana_sdk::transaction::Transaction; +use solana_sdk::{system_instruction, system_program}; use std::cmp; use std::collections::{HashMap, VecDeque}; use std::fs::File; @@ -88,7 +89,12 @@ pub fn create_client_accounts_file( keypairs.iter().for_each(|keypair| { accounts.insert( 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(), + }, ); }); diff --git a/bench-tps/Cargo.toml b/bench-tps/Cargo.toml index 12826fe1cd..74b07bc75f 100644 --- a/bench-tps/Cargo.toml +++ b/bench-tps/Cargo.toml @@ -17,6 +17,7 @@ serde_derive = "1.0.99" serde_json = "1.0.40" serde_yaml = "0.8.9" 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-client = { path = "../client", version = "0.19.0-pre0" } solana-drone = { path = "../drone", version = "0.19.0-pre0" } diff --git a/bench-tps/src/main.rs b/bench-tps/src/main.rs index b0aa9847f0..2e94b8ad8d 100644 --- a/bench-tps/src/main.rs +++ b/bench-tps/src/main.rs @@ -9,8 +9,10 @@ use crate::bench::{ 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_genesis::PrimordialAccountDetails; use solana_sdk::fee_calculator::FeeCalculator; use solana_sdk::signature::{Keypair, KeypairUtil}; +use solana_sdk::system_program; use std::collections::HashMap; use std::fs::File; use std::io::prelude::*; @@ -55,7 +57,12 @@ fn main() { keypairs.iter().for_each(|keypair| { accounts.insert( 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(), + }, ); }); diff --git a/genesis/src/lib.rs b/genesis/src/lib.rs new file mode 100644 index 0000000000..794faba5e5 --- /dev/null +++ b/genesis/src/lib.rs @@ -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, +} diff --git a/genesis/src/main.rs b/genesis/src/main.rs index 4e0bc91f54..1ed43402c0 100644 --- a/genesis/src/main.rs +++ b/genesis/src/main.rs @@ -2,8 +2,8 @@ use base64; 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_genesis::PrimordialAccountDetails; use solana_sdk::account::Account; use solana_sdk::clock; use solana_sdk::fee_calculator::FeeCalculator; @@ -33,14 +33,6 @@ pub enum AccountFileFormat { Keypair, } -#[derive(Serialize, Deserialize, Debug)] -pub struct PrimordialAccountDetails { - balance: u64, - owner: String, - data: String, - executable: bool, -} - pub fn append_primordial_accounts( file: &str, file_format: AccountFileFormat, diff --git a/net/remote/remote-node.sh b/net/remote/remote-node.sh index 94c67e9af8..63b6e40a1e 100755 --- a/net/remote/remote-node.sh +++ b/net/remote/remote-node.sh @@ -110,10 +110,17 @@ local|tar|skip) rm -rf ./solana-node-balances mkdir ./solana-node-balances if [[ -n $internalNodesLamports ]]; then + echo "---" >> ./solana-node-balances/fullnode-balances.yml for i in $(seq 0 "$numNodes"); do solana-keygen new -o ./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 <