Update project to use new account serialization format (#5848)

This commit is contained in:
Parth 2019-09-10 04:47:10 +05:30 committed by Michael Vines
parent 9dc5da7dbd
commit 468095ede2
7 changed files with 36 additions and 13 deletions

View File

@ -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" }

View File

@ -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(),
},
);
});

View File

@ -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" }

View File

@ -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(),
},
);
});

9
genesis/src/lib.rs Normal file
View File

@ -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,
}

View File

@ -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,

View File

@ -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 <<EOF
$pubkey:
balance: $internalNodesLamports
owner: 11111111111111111111111111111111
data:
executable: false
EOF
done
fi