Remove rpc_banks from validator (#13882)
* Remove rpc_banks from validator * Bump abi-digest
This commit is contained in:
parent
8c40dd34b2
commit
10c81a2448
|
@ -76,17 +76,6 @@ impl Config {
|
|||
ws_url.to_string()
|
||||
}
|
||||
|
||||
pub fn compute_rpc_banks_url(json_rpc_url: &str) -> String {
|
||||
let json_rpc_url: Option<Url> = json_rpc_url.parse().ok();
|
||||
if json_rpc_url.is_none() {
|
||||
return "".to_string();
|
||||
}
|
||||
let mut url = json_rpc_url.unwrap();
|
||||
let port = url.port().unwrap_or(8899);
|
||||
url.set_port(Some(port + 3)).expect("unable to set port");
|
||||
url.to_string()
|
||||
}
|
||||
|
||||
pub fn import_address_labels<P>(&mut self, filename: P) -> Result<(), io::Error>
|
||||
where
|
||||
P: AsRef<Path>,
|
||||
|
@ -133,28 +122,4 @@ mod test {
|
|||
|
||||
assert_eq!(Config::compute_websocket_url(&"garbage"), String::new());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn compute_rpc_banks_url() {
|
||||
assert_eq!(
|
||||
Config::compute_rpc_banks_url(&"http://devnet.solana.com"),
|
||||
"http://devnet.solana.com:8902/".to_string()
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
Config::compute_rpc_banks_url(&"https://devnet.solana.com"),
|
||||
"https://devnet.solana.com:8902/".to_string()
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
Config::compute_rpc_banks_url(&"http://example.com:8899"),
|
||||
"http://example.com:8902/".to_string()
|
||||
);
|
||||
assert_eq!(
|
||||
Config::compute_rpc_banks_url(&"https://example.com:1234"),
|
||||
"https://example.com:1237/".to_string()
|
||||
);
|
||||
|
||||
assert_eq!(Config::compute_rpc_banks_url(&"garbage"), String::new());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -424,7 +424,7 @@ pub fn make_accounts_hashes_message(
|
|||
type Ping = ping_pong::Ping<[u8; GOSSIP_PING_TOKEN_SIZE]>;
|
||||
|
||||
// TODO These messages should go through the gpu pipeline for spam filtering
|
||||
#[frozen_abi(digest = "3jHXixLRv6fuCykW47hBZSwFuwDjbZShR73GVQB6TjGr")]
|
||||
#[frozen_abi(digest = "8L3mKuv292LTa3XFCGNVdaFihWnsgYE4hf941p9gqUxF")]
|
||||
#[derive(Serialize, Deserialize, Debug, AbiEnumVisitor, AbiExample)]
|
||||
#[allow(clippy::large_enum_variant)]
|
||||
enum Protocol {
|
||||
|
@ -720,7 +720,7 @@ impl ClusterInfo {
|
|||
|
||||
let rpc_addr = node.rpc.ip();
|
||||
Some(format!(
|
||||
"{:15} {:2}| {:5} | {:44} |{:^9}| {:5}| {:5}| {:5}| {}\n",
|
||||
"{:15} {:2}| {:5} | {:44} |{:^9}| {:5}| {:5}| {}\n",
|
||||
rpc_addr.to_string(),
|
||||
if node.id == my_pubkey { "me" } else { "" }.to_string(),
|
||||
now.saturating_sub(last_updated),
|
||||
|
@ -732,7 +732,6 @@ impl ClusterInfo {
|
|||
},
|
||||
addr_to_string(&rpc_addr, &node.rpc),
|
||||
addr_to_string(&rpc_addr, &node.rpc_pubsub),
|
||||
addr_to_string(&rpc_addr, &node.rpc_banks),
|
||||
node.shred_version,
|
||||
))
|
||||
})
|
||||
|
@ -740,9 +739,9 @@ impl ClusterInfo {
|
|||
|
||||
format!(
|
||||
"RPC Address |Age(ms)| Node identifier \
|
||||
| Version | RPC |PubSub| Banks|ShredVer\n\
|
||||
| Version | RPC |PubSub|ShredVer\n\
|
||||
------------------+-------+----------------------------------------------+---------+\
|
||||
------+------+------+--------\n\
|
||||
------+------+--------\n\
|
||||
{}\
|
||||
RPC Enabled Nodes: {}",
|
||||
nodes.join(""),
|
||||
|
@ -3000,13 +2999,11 @@ impl Node {
|
|||
let rpc_pubsub_port = find_available_port_in_range(bind_ip_addr, (1024, 65535)).unwrap();
|
||||
let rpc_pubsub_addr =
|
||||
SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), rpc_pubsub_port);
|
||||
let rpc_banks_port = find_available_port_in_range(bind_ip_addr, (1024, 65535)).unwrap();
|
||||
let rpc_banks_addr =
|
||||
SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), rpc_banks_port);
|
||||
|
||||
let broadcast = vec![UdpSocket::bind("0.0.0.0:0").unwrap()];
|
||||
let retransmit_socket = UdpSocket::bind("0.0.0.0:0").unwrap();
|
||||
let serve_repair = UdpSocket::bind("127.0.0.1:0").unwrap();
|
||||
let unused = UdpSocket::bind("0.0.0.0:0").unwrap();
|
||||
let info = ContactInfo {
|
||||
id: *pubkey,
|
||||
gossip: gossip_addr,
|
||||
|
@ -3015,7 +3012,7 @@ impl Node {
|
|||
repair: repair.local_addr().unwrap(),
|
||||
tpu: tpu.local_addr().unwrap(),
|
||||
tpu_forwards: tpu_forwards.local_addr().unwrap(),
|
||||
rpc_banks: rpc_banks_addr,
|
||||
unused: unused.local_addr().unwrap(),
|
||||
rpc: rpc_addr,
|
||||
rpc_pubsub: rpc_pubsub_addr,
|
||||
serve_repair: serve_repair.local_addr().unwrap(),
|
||||
|
@ -3096,7 +3093,7 @@ impl Node {
|
|||
repair: SocketAddr::new(gossip_addr.ip(), repair_port),
|
||||
tpu: SocketAddr::new(gossip_addr.ip(), tpu_port),
|
||||
tpu_forwards: SocketAddr::new(gossip_addr.ip(), tpu_forwards_port),
|
||||
rpc_banks: socketaddr_any!(),
|
||||
unused: socketaddr_any!(),
|
||||
rpc: socketaddr_any!(),
|
||||
rpc_pubsub: socketaddr_any!(),
|
||||
serve_repair: SocketAddr::new(gossip_addr.ip(), serve_repair_port),
|
||||
|
|
|
@ -26,7 +26,7 @@ pub struct ContactInfo {
|
|||
/// address to forward unprocessed transactions to
|
||||
pub tpu_forwards: SocketAddr,
|
||||
/// address to which to send bank state requests
|
||||
pub rpc_banks: SocketAddr,
|
||||
pub unused: SocketAddr,
|
||||
/// address to which to send JSON-RPC requests
|
||||
pub rpc: SocketAddr,
|
||||
/// websocket for JSON-RPC push notifications
|
||||
|
@ -95,7 +95,7 @@ impl Default for ContactInfo {
|
|||
repair: socketaddr_any!(),
|
||||
tpu: socketaddr_any!(),
|
||||
tpu_forwards: socketaddr_any!(),
|
||||
rpc_banks: socketaddr_any!(),
|
||||
unused: socketaddr_any!(),
|
||||
rpc: socketaddr_any!(),
|
||||
rpc_pubsub: socketaddr_any!(),
|
||||
serve_repair: socketaddr_any!(),
|
||||
|
@ -115,7 +115,7 @@ impl ContactInfo {
|
|||
repair: socketaddr!("127.0.0.1:1237"),
|
||||
tpu: socketaddr!("127.0.0.1:1238"),
|
||||
tpu_forwards: socketaddr!("127.0.0.1:1239"),
|
||||
rpc_banks: socketaddr!("127.0.0.1:1240"),
|
||||
unused: socketaddr!("127.0.0.1:1240"),
|
||||
rpc: socketaddr!("127.0.0.1:1241"),
|
||||
rpc_pubsub: socketaddr!("127.0.0.1:1242"),
|
||||
serve_repair: socketaddr!("127.0.0.1:1243"),
|
||||
|
@ -145,7 +145,7 @@ impl ContactInfo {
|
|||
repair: addr,
|
||||
tpu: addr,
|
||||
tpu_forwards: addr,
|
||||
rpc_banks: addr,
|
||||
unused: addr,
|
||||
rpc: addr,
|
||||
rpc_pubsub: addr,
|
||||
serve_repair: addr,
|
||||
|
@ -170,7 +170,6 @@ impl ContactInfo {
|
|||
let repair = next_port(&bind_addr, 5);
|
||||
let rpc = SocketAddr::new(bind_addr.ip(), rpc_port::DEFAULT_RPC_PORT);
|
||||
let rpc_pubsub = SocketAddr::new(bind_addr.ip(), rpc_port::DEFAULT_RPC_PUBSUB_PORT);
|
||||
let rpc_banks = SocketAddr::new(bind_addr.ip(), rpc_port::DEFAULT_RPC_BANKS_PORT);
|
||||
let serve_repair = next_port(&bind_addr, 6);
|
||||
Self {
|
||||
id: *pubkey,
|
||||
|
@ -180,7 +179,7 @@ impl ContactInfo {
|
|||
repair,
|
||||
tpu,
|
||||
tpu_forwards,
|
||||
rpc_banks,
|
||||
unused: "0.0.0.0:0".parse().unwrap(),
|
||||
rpc,
|
||||
rpc_pubsub,
|
||||
serve_repair,
|
||||
|
@ -257,7 +256,7 @@ mod tests {
|
|||
assert!(ci.rpc.ip().is_unspecified());
|
||||
assert!(ci.rpc_pubsub.ip().is_unspecified());
|
||||
assert!(ci.tpu.ip().is_unspecified());
|
||||
assert!(ci.rpc_banks.ip().is_unspecified());
|
||||
assert!(ci.unused.ip().is_unspecified());
|
||||
assert!(ci.serve_repair.ip().is_unspecified());
|
||||
}
|
||||
#[test]
|
||||
|
@ -269,7 +268,7 @@ mod tests {
|
|||
assert!(ci.rpc.ip().is_multicast());
|
||||
assert!(ci.rpc_pubsub.ip().is_multicast());
|
||||
assert!(ci.tpu.ip().is_multicast());
|
||||
assert!(ci.rpc_banks.ip().is_multicast());
|
||||
assert!(ci.unused.ip().is_multicast());
|
||||
assert!(ci.serve_repair.ip().is_multicast());
|
||||
}
|
||||
#[test]
|
||||
|
@ -282,7 +281,7 @@ mod tests {
|
|||
assert!(ci.rpc.ip().is_unspecified());
|
||||
assert!(ci.rpc_pubsub.ip().is_unspecified());
|
||||
assert!(ci.tpu.ip().is_unspecified());
|
||||
assert!(ci.rpc_banks.ip().is_unspecified());
|
||||
assert!(ci.unused.ip().is_unspecified());
|
||||
assert!(ci.serve_repair.ip().is_unspecified());
|
||||
}
|
||||
#[test]
|
||||
|
@ -295,7 +294,7 @@ mod tests {
|
|||
assert_eq!(ci.tpu_forwards.port(), 13);
|
||||
assert_eq!(ci.rpc.port(), rpc_port::DEFAULT_RPC_PORT);
|
||||
assert_eq!(ci.rpc_pubsub.port(), rpc_port::DEFAULT_RPC_PUBSUB_PORT);
|
||||
assert_eq!(ci.rpc_banks.port(), rpc_port::DEFAULT_RPC_BANKS_PORT);
|
||||
assert!(ci.unused.ip().is_unspecified());
|
||||
assert_eq!(ci.serve_repair.port(), 16);
|
||||
}
|
||||
|
||||
|
@ -319,10 +318,6 @@ mod tests {
|
|||
d1.rpc_pubsub,
|
||||
socketaddr!(format!("127.0.0.1:{}", rpc_port::DEFAULT_RPC_PUBSUB_PORT))
|
||||
);
|
||||
assert_eq!(
|
||||
d1.rpc_banks,
|
||||
socketaddr!(format!("127.0.0.1:{}", rpc_port::DEFAULT_RPC_BANKS_PORT))
|
||||
);
|
||||
assert_eq!(d1.tvu_forwards, socketaddr!("127.0.0.1:1238"));
|
||||
assert_eq!(d1.repair, socketaddr!("127.0.0.1:1239"));
|
||||
assert_eq!(d1.serve_repair, socketaddr!("127.0.0.1:1240"));
|
||||
|
|
|
@ -685,7 +685,7 @@ mod tests {
|
|||
repair: socketaddr!("127.0.0.1:1237"),
|
||||
tpu: socketaddr!("127.0.0.1:1238"),
|
||||
tpu_forwards: socketaddr!("127.0.0.1:1239"),
|
||||
rpc_banks: socketaddr!("127.0.0.1:1240"),
|
||||
unused: socketaddr!("127.0.0.1:1240"),
|
||||
rpc: socketaddr!("127.0.0.1:1241"),
|
||||
rpc_pubsub: socketaddr!("127.0.0.1:1242"),
|
||||
serve_repair: socketaddr!("127.0.0.1:1243"),
|
||||
|
@ -769,7 +769,7 @@ mod tests {
|
|||
repair: socketaddr!([127, 0, 0, 1], 1237),
|
||||
tpu: socketaddr!([127, 0, 0, 1], 1238),
|
||||
tpu_forwards: socketaddr!([127, 0, 0, 1], 1239),
|
||||
rpc_banks: socketaddr!([127, 0, 0, 1], 1240),
|
||||
unused: socketaddr!([127, 0, 0, 1], 1240),
|
||||
rpc: socketaddr!([127, 0, 0, 1], 1241),
|
||||
rpc_pubsub: socketaddr!([127, 0, 0, 1], 1242),
|
||||
serve_repair: serve_repair_addr,
|
||||
|
@ -798,7 +798,7 @@ mod tests {
|
|||
repair: socketaddr!([127, 0, 0, 1], 1237),
|
||||
tpu: socketaddr!([127, 0, 0, 1], 1238),
|
||||
tpu_forwards: socketaddr!([127, 0, 0, 1], 1239),
|
||||
rpc_banks: socketaddr!([127, 0, 0, 1], 1240),
|
||||
unused: socketaddr!([127, 0, 0, 1], 1240),
|
||||
rpc: socketaddr!([127, 0, 0, 1], 1241),
|
||||
rpc_pubsub: socketaddr!([127, 0, 0, 1], 1242),
|
||||
serve_repair: serve_repair_addr2,
|
||||
|
|
|
@ -120,7 +120,7 @@ impl TestValidator {
|
|||
let (ledger_path, blockhash) = create_new_tmp_ledger!(&genesis_config);
|
||||
|
||||
let config = ValidatorConfig {
|
||||
rpc_addrs: Some((node.info.rpc, node.info.rpc_pubsub, node.info.rpc_banks)),
|
||||
rpc_addrs: Some((node.info.rpc, node.info.rpc_pubsub)),
|
||||
..ValidatorConfig::default()
|
||||
};
|
||||
|
||||
|
|
|
@ -30,7 +30,6 @@ use crate::{
|
|||
};
|
||||
use crossbeam_channel::{bounded, unbounded};
|
||||
use rand::{thread_rng, Rng};
|
||||
use solana_banks_server::rpc_banks_service::RpcBanksService;
|
||||
use solana_ledger::{
|
||||
bank_forks_utils,
|
||||
blockstore::{Blockstore, BlockstoreSignals, CompletedSlotsReceiver, PurgeType},
|
||||
|
@ -82,7 +81,7 @@ pub struct ValidatorConfig {
|
|||
pub voting_disabled: bool,
|
||||
pub account_paths: Vec<PathBuf>,
|
||||
pub rpc_config: JsonRpcConfig,
|
||||
pub rpc_addrs: Option<(SocketAddr, SocketAddr, SocketAddr)>, // (JsonRpc, JsonRpcPubSub, Banks)
|
||||
pub rpc_addrs: Option<(SocketAddr, SocketAddr)>, // (JsonRpc, JsonRpcPubSub)
|
||||
pub pubsub_config: PubSubConfig,
|
||||
pub snapshot_config: Option<SnapshotConfig>,
|
||||
pub max_ledger_shreds: Option<u64>,
|
||||
|
@ -176,7 +175,6 @@ struct TransactionHistoryServices {
|
|||
struct RpcServices {
|
||||
json_rpc_service: JsonRpcService,
|
||||
pubsub_service: PubSubService,
|
||||
rpc_banks_service: RpcBanksService,
|
||||
optimistically_confirmed_bank_tracker: OptimisticallyConfirmedBankTracker,
|
||||
}
|
||||
|
||||
|
@ -396,16 +394,14 @@ impl Validator {
|
|||
let poh_recorder = Arc::new(Mutex::new(poh_recorder));
|
||||
|
||||
let rpc_override_health_check = Arc::new(AtomicBool::new(false));
|
||||
let (rpc_service, bank_notification_sender) =
|
||||
if let Some((rpc_addr, rpc_pubsub_addr, rpc_banks_addr)) = config.rpc_addrs {
|
||||
let (rpc_service, bank_notification_sender) = if let Some((rpc_addr, rpc_pubsub_addr)) =
|
||||
config.rpc_addrs
|
||||
{
|
||||
if ContactInfo::is_valid_address(&node.info.rpc) {
|
||||
assert!(ContactInfo::is_valid_address(&node.info.rpc_pubsub));
|
||||
assert!(ContactInfo::is_valid_address(&node.info.rpc_banks));
|
||||
} else {
|
||||
assert!(!ContactInfo::is_valid_address(&node.info.rpc_pubsub));
|
||||
assert!(!ContactInfo::is_valid_address(&node.info.rpc_banks));
|
||||
}
|
||||
let tpu_address = cluster_info.my_contact_info().tpu;
|
||||
let (bank_notification_sender, bank_notification_receiver) = unbounded();
|
||||
(
|
||||
Some(RpcServices {
|
||||
|
@ -431,15 +427,7 @@ impl Validator {
|
|||
rpc_pubsub_addr,
|
||||
&exit,
|
||||
),
|
||||
rpc_banks_service: RpcBanksService::new(
|
||||
rpc_banks_addr,
|
||||
tpu_address,
|
||||
&bank_forks,
|
||||
&block_commitment_cache,
|
||||
&exit,
|
||||
),
|
||||
optimistically_confirmed_bank_tracker:
|
||||
OptimisticallyConfirmedBankTracker::new(
|
||||
optimistically_confirmed_bank_tracker: OptimisticallyConfirmedBankTracker::new(
|
||||
bank_notification_receiver,
|
||||
&exit,
|
||||
bank_forks.clone(),
|
||||
|
@ -666,13 +654,11 @@ impl Validator {
|
|||
if let Some(RpcServices {
|
||||
json_rpc_service,
|
||||
pubsub_service,
|
||||
rpc_banks_service,
|
||||
optimistically_confirmed_bank_tracker,
|
||||
}) = self.rpc_service
|
||||
{
|
||||
json_rpc_service.join().expect("rpc_service");
|
||||
pubsub_service.join().expect("pubsub_service");
|
||||
rpc_banks_service.join().expect("rpc_banks_service");
|
||||
optimistically_confirmed_bank_tracker
|
||||
.join()
|
||||
.expect("optimistically_confirmed_bank_tracker");
|
||||
|
@ -1242,11 +1228,7 @@ mod tests {
|
|||
|
||||
let voting_keypair = Arc::new(Keypair::new());
|
||||
let config = ValidatorConfig {
|
||||
rpc_addrs: Some((
|
||||
validator_node.info.rpc,
|
||||
validator_node.info.rpc_pubsub,
|
||||
validator_node.info.rpc_banks,
|
||||
)),
|
||||
rpc_addrs: Some((validator_node.info.rpc, validator_node.info.rpc_pubsub)),
|
||||
..ValidatorConfig::default()
|
||||
};
|
||||
let validator = Validator::new(
|
||||
|
@ -1316,11 +1298,7 @@ mod tests {
|
|||
ledger_paths.push(validator_ledger_path.clone());
|
||||
let vote_account_keypair = Keypair::new();
|
||||
let config = ValidatorConfig {
|
||||
rpc_addrs: Some((
|
||||
validator_node.info.rpc,
|
||||
validator_node.info.rpc_pubsub,
|
||||
validator_node.info.rpc_banks,
|
||||
)),
|
||||
rpc_addrs: Some((validator_node.info.rpc, validator_node.info.rpc_pubsub)),
|
||||
..ValidatorConfig::default()
|
||||
};
|
||||
Validator::new(
|
||||
|
|
|
@ -194,11 +194,7 @@ impl LocalCluster {
|
|||
let (leader_ledger_path, _blockhash) = create_new_tmp_ledger!(&genesis_config);
|
||||
let leader_contact_info = leader_node.info.clone();
|
||||
let mut leader_config = config.validator_configs[0].clone();
|
||||
leader_config.rpc_addrs = Some((
|
||||
leader_node.info.rpc,
|
||||
leader_node.info.rpc_pubsub,
|
||||
leader_node.info.rpc_banks,
|
||||
));
|
||||
leader_config.rpc_addrs = Some((leader_node.info.rpc, leader_node.info.rpc_pubsub));
|
||||
leader_config.account_paths = vec![leader_ledger_path.join("accounts")];
|
||||
let leader_keypair = Arc::new(Keypair::from_bytes(&leader_keypair.to_bytes()).unwrap());
|
||||
let leader_vote_keypair =
|
||||
|
@ -343,11 +339,7 @@ impl LocalCluster {
|
|||
}
|
||||
|
||||
let mut config = validator_config.clone();
|
||||
config.rpc_addrs = Some((
|
||||
validator_node.info.rpc,
|
||||
validator_node.info.rpc_pubsub,
|
||||
validator_node.info.rpc_banks,
|
||||
));
|
||||
config.rpc_addrs = Some((validator_node.info.rpc, validator_node.info.rpc_pubsub));
|
||||
config.account_paths = vec![ledger_path.join("accounts")];
|
||||
let voting_keypair = voting_keypair.unwrap();
|
||||
let validator_server = Validator::new(
|
||||
|
@ -629,8 +621,7 @@ impl Cluster for LocalCluster {
|
|||
// Update the stored ContactInfo for this node
|
||||
let node = Node::new_localhost_with_pubkey(&pubkey);
|
||||
cluster_validator_info.info.contact_info = node.info.clone();
|
||||
cluster_validator_info.config.rpc_addrs =
|
||||
Some((node.info.rpc, node.info.rpc_pubsub, node.info.rpc_banks));
|
||||
cluster_validator_info.config.rpc_addrs = Some((node.info.rpc, node.info.rpc_pubsub));
|
||||
|
||||
let entry_point_info = {
|
||||
if *pubkey == self.entry_point_info.id {
|
||||
|
|
|
@ -573,11 +573,10 @@ fn verify_reachable_ports(
|
|||
}
|
||||
|
||||
let mut tcp_listeners = vec![];
|
||||
if let Some((rpc_addr, rpc_pubsub_addr, rpc_banks_addr)) = validator_config.rpc_addrs {
|
||||
if let Some((rpc_addr, rpc_pubsub_addr)) = validator_config.rpc_addrs {
|
||||
for (purpose, bind_addr, public_addr) in &[
|
||||
("RPC", rpc_addr, &node.info.rpc),
|
||||
("RPC pubsub", rpc_pubsub_addr, &node.info.rpc_pubsub),
|
||||
("RPC banks", rpc_banks_addr, &node.info.rpc_banks),
|
||||
] {
|
||||
if ContactInfo::is_valid_address(&public_addr) {
|
||||
tcp_listeners.push((
|
||||
|
@ -1510,9 +1509,9 @@ pub fn main() {
|
|||
(
|
||||
SocketAddr::new(rpc_bind_address, rpc_port),
|
||||
SocketAddr::new(rpc_bind_address, rpc_port + 1),
|
||||
// +2 is skipped to avoid a conflict with the websocket port (which is +2) in web3.js
|
||||
// This odd port shifting is tracked at https://github.com/solana-labs/solana/issues/12250
|
||||
SocketAddr::new(rpc_bind_address, rpc_port + 3),
|
||||
// If additional ports are added, +2 needs to be skipped to avoid a conflict with
|
||||
// the websocket port (which is +2) in web3.js This odd port shifting is tracked at
|
||||
// https://github.com/solana-labs/solana/issues/12250
|
||||
)
|
||||
}),
|
||||
pubsub_config: PubSubConfig {
|
||||
|
@ -1761,12 +1760,9 @@ pub fn main() {
|
|||
if let Some(public_rpc_addr) = public_rpc_addr {
|
||||
node.info.rpc = public_rpc_addr;
|
||||
node.info.rpc_pubsub = public_rpc_addr;
|
||||
node.info.rpc_banks = public_rpc_addr;
|
||||
} else if let Some((rpc_addr, rpc_pubsub_addr, rpc_banks_addr)) = validator_config.rpc_addrs
|
||||
{
|
||||
} else if let Some((rpc_addr, rpc_pubsub_addr)) = validator_config.rpc_addrs {
|
||||
node.info.rpc = SocketAddr::new(node.info.gossip.ip(), rpc_addr.port());
|
||||
node.info.rpc_pubsub = SocketAddr::new(node.info.gossip.ip(), rpc_pubsub_addr.port());
|
||||
node.info.rpc_banks = SocketAddr::new(node.info.gossip.ip(), rpc_banks_addr.port());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue