Merge branch 'master' into rpc-shared-miner

Conflicts:
	parity/main.rs
This commit is contained in:
Tomasz Drwięga
2016-04-22 12:16:15 +02:00
10 changed files with 203 additions and 19 deletions

View File

@@ -25,6 +25,7 @@ use docopt::Docopt;
use die::*;
use util::*;
use util::keys::store::AccountService;
use util::network_settings::NetworkSettings;
use ethcore::client::{append_path, get_db_path, ClientConfig};
use ethcore::ethereum;
use ethcore::spec::Spec;
@@ -236,5 +237,17 @@ impl Configuration {
}
account_service
}
pub fn network_settings(&self) -> NetworkSettings {
NetworkSettings {
name: self.args.flag_identity.clone(),
chain: self.args.flag_chain.clone(),
max_peers: self.args.flag_maxpeers.unwrap_or(self.args.flag_peers),
network_port: self.args.flag_port,
rpc_enabled: self.args.flag_rpc || self.args.flag_jsonrpc,
rpc_interface: self.args.flag_rpcaddr.clone().unwrap_or(self.args.flag_jsonrpc_interface.clone()),
rpc_port: self.args.flag_rpcport.unwrap_or(self.args.flag_jsonrpc_port),
}
}
}

View File

@@ -154,6 +154,7 @@ fn execute_client(conf: Configuration) {
miner.set_transactions_limit(conf.args.flag_tx_limit);
let external_miner = Arc::new(ExternalMiner::default());
let network_settings = Arc::new(conf.network_settings());
// Sync
let sync = EthSync::register(service.network(), sync_config, client.clone(), miner.clone());
@@ -171,7 +172,8 @@ fn execute_client(conf: Configuration) {
secret_store: account_service.clone(),
miner: miner.clone(),
external_miner: external_miner.clone(),
logger: logger.clone()
logger: logger.clone(),
settings: network_settings.clone(),
});
let webapp_server = webapp::new(webapp::Configuration {
@@ -186,7 +188,8 @@ fn execute_client(conf: Configuration) {
secret_store: account_service.clone(),
miner: miner.clone(),
external_miner: external_miner.clone(),
logger: logger.clone()
logger: logger.clone(),
settings: network_settings.clone(),
});
// Register IO handler

View File

@@ -23,6 +23,7 @@ use ethsync::EthSync;
use ethminer::{Miner, ExternalMiner};
use util::RotatingLogger;
use util::keys::store::{AccountService};
use util::network_settings::NetworkSettings;
use die::*;
#[cfg(feature = "rpc")]
@@ -47,6 +48,7 @@ pub struct Dependencies {
pub miner: Arc<Miner>,
pub external_miner: Arc<ExternalMiner>,
pub logger: Arc<RotatingLogger>,
pub settings: Arc<NetworkSettings>,
}
pub fn new(conf: Configuration, deps: Dependencies) -> Option<RpcServer> {
@@ -95,7 +97,7 @@ pub fn setup_rpc_server(
server.add_delegate(EthFilterClient::new(&deps.client, &deps.miner).to_delegate());
},
"personal" => server.add_delegate(PersonalClient::new(&deps.secret_store).to_delegate()),
"ethcore" => server.add_delegate(EthcoreClient::new(&deps.miner, deps.logger.clone()).to_delegate()),
"ethcore" => server.add_delegate(EthcoreClient::new(&deps.miner, deps.logger.clone(), deps.settings.clone()).to_delegate()),
_ => {
die!("{}: Invalid API name to be enabled.", api);
},

View File

@@ -22,6 +22,7 @@ use ethsync::EthSync;
use ethminer::{Miner, ExternalMiner};
use util::RotatingLogger;
use util::keys::store::{AccountService};
use util::network_settings::NetworkSettings;
use die::*;
#[cfg(feature = "webapp")]
@@ -44,6 +45,7 @@ pub struct Dependencies {
pub miner: Arc<Miner>,
pub external_miner: Arc<ExternalMiner>,
pub logger: Arc<RotatingLogger>,
pub settings: Arc<NetworkSettings>,
}
pub fn new(configuration: Configuration, deps: Dependencies) -> Option<WebappServer> {
@@ -97,7 +99,7 @@ pub fn setup_webapp_server(
server.add_delegate(EthClient::new(&deps.client, &deps.sync, &deps.secret_store, &deps.miner, &deps.external_miner).to_delegate());
server.add_delegate(EthFilterClient::new(&deps.client, &deps.miner).to_delegate());
server.add_delegate(PersonalClient::new(&deps.secret_store).to_delegate());
server.add_delegate(EthcoreClient::new(&deps.miner, deps.logger).to_delegate());
server.add_delegate(EthcoreClient::new(&deps.miner, deps.logger, deps.settings).to_delegate());
let start_result = match auth {
None => {