Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,10 @@ install-node: ## Installs node
install-validator: ## Installs validator
cargo install --path bin/validator --locked

.PHONY: install-ntx-builder
install-ntx-builder: ## Installs ntx-builder
cargo install --path bin/ntx-builder --locked

.PHONY: install-remote-prover
install-remote-prover: ## Install remote prover's CLI
cargo install --path bin/remote-prover --bin miden-remote-prover --locked
Expand Down
17 changes: 2 additions & 15 deletions bin/node/src/commands/store.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ use crate::commands::ENV_DATA_DIRECTORY;

const ENV_RPC_LISTEN: &str = "MIDEN_NODE_STORE_RPC_LISTEN";
const ENV_UPSTREAM_URL: &str = "MIDEN_NODE_STORE_UPSTREAM_RPC_URL";
const ENV_NTX_BUILDER_LISTEN: &str = "MIDEN_NODE_STORE_NTX_BUILDER_LISTEN";
const ENV_BLOCK_PRODUCER_LISTEN: &str = "MIDEN_NODE_STORE_BLOCK_PRODUCER_LISTEN";
const ENV_BLOCK_PROVER_URL: &str = "MIDEN_NODE_STORE_BLOCK_PROVER_URL";
const ENV_SQLITE_CONNECTION_POOL_SIZE: &str = "MIDEN_NODE_STORE_SQLITE_CONNECTION_POOL_SIZE";
Expand Down Expand Up @@ -50,10 +49,6 @@ pub enum StoreCommand {
#[arg(long = "rpc.listen", env = ENV_RPC_LISTEN, value_name = "LISTEN")]
rpc_listen: SocketAddr,

/// Socket address at which to serve the store's network transaction builder API.
#[arg(long = "ntx-builder.listen", env = ENV_NTX_BUILDER_LISTEN, value_name = "LISTEN")]
ntx_builder_listen: SocketAddr,

/// Socket address at which to serve the store's block producer API.
#[arg(long = "block-producer.listen", env = ENV_BLOCK_PRODUCER_LISTEN, value_name = "LISTEN")]
block_producer_listen: SocketAddr,
Expand Down Expand Up @@ -100,8 +95,8 @@ pub enum StoreCommand {
/// Starts the store in replica mode.
///
/// In this mode the store syncs blocks from an upstream store's `Rpc` gRPC service.
/// Only the `Rpc` gRPC service is exposed — the `BlockProducer` and `NtxBuilder` services are
/// not started and no proof scheduler runs.
/// Only the `Rpc` gRPC service is exposed — the `BlockProducer` service is not started and
/// no proof scheduler runs.
StartReplica {
/// Socket address at which to serve the store's RPC API.
#[arg(long = "rpc.listen", env = ENV_RPC_LISTEN, value_name = "LISTEN")]
Expand Down Expand Up @@ -146,7 +141,6 @@ impl StoreCommand {
},
StoreCommand::Start {
rpc_listen,
ntx_builder_listen,
block_producer_listen,
block_prover_url,
data_directory,
Expand All @@ -158,7 +152,6 @@ impl StoreCommand {
} => {
Self::start(
rpc_listen,
ntx_builder_listen,
block_producer_listen,
block_prover_url,
data_directory,
Expand Down Expand Up @@ -207,7 +200,6 @@ impl StoreCommand {
#[expect(clippy::too_many_arguments)]
async fn start(
rpc_listen: SocketAddr,
ntx_builder_listen: SocketAddr,
block_producer_listen: SocketAddr,
block_prover_url: Option<Url>,
data_directory: PathBuf,
Expand All @@ -220,10 +212,6 @@ impl StoreCommand {
.await
.context("Failed to bind to store's RPC gRPC socket")?;

let ntx_builder_listener = tokio::net::TcpListener::bind(ntx_builder_listen)
.await
.context("Failed to bind to store's ntx-builder gRPC socket")?;

let block_producer_listener = tokio::net::TcpListener::bind(block_producer_listen)
.await
.context("Failed to bind to store's block-producer gRPC socket")?;
Expand All @@ -232,7 +220,6 @@ impl StoreCommand {
rpc_listener,
mode: StoreMode::BlockProducer {
block_producer_listener,
ntx_builder_listener,
block_prover_url,
max_concurrent_proofs,
},
Expand Down
6 changes: 4 additions & 2 deletions bin/ntx-builder/src/actor/execute.rs
Original file line number Diff line number Diff line change
Expand Up @@ -818,8 +818,10 @@ mod tests {
StoreError::GrpcClientError(tonic::Status::invalid_argument("bad input"));
assert!(!is_transient_store_error(&terminal_grpc));

let malformed = StoreError::MalformedResponse("bad".into());
assert!(!is_transient_store_error(&malformed));
let non_grpc = StoreError::Deserialize(
miden_protocol::utils::serde::DeserializationError::InvalidValue("bad".into()),
);
assert!(!is_transient_store_error(&non_grpc));
}

/// Smoke-test that the predicates used by the request-level retry wrappers compile and select
Expand Down
6 changes: 5 additions & 1 deletion bin/ntx-builder/src/actor/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,11 @@ impl AccountActorContext {

Self {
clients: GrpcClients {
store: StoreClient::new(url.clone()),
store: StoreClient::new(
url.clone(),
Duration::from_millis(100),
Duration::from_secs(30),
),
block_producer: BlockProducerClient::new(url.clone()),
validator: ValidatorClient::new(url),
prover: None,
Expand Down
Loading
Loading