Skip to content

feat(ntx): export NtxAuth and implement RPC client#2162

Draft
igamigo wants to merge 1 commit into
nextfrom
igamigo-export-ntxauth
Draft

feat(ntx): export NtxAuth and implement RPC client#2162
igamigo wants to merge 1 commit into
nextfrom
igamigo-export-ntxauth

Conversation

@igamigo
Copy link
Copy Markdown
Collaborator

@igamigo igamigo commented May 29, 2026

While testing 0xMiden/miden-client#2203, I realized we needed NtxAuth exported for bootstrapping the testing node easily, so I made that change in this branch.
When testing that implementation, noticed the NTX-related tests were failing so looking into it I realized the RPC client was missing, so I made a first implementation. Opening as draft because client integration tests are still not passing.

@Mirko-von-Leipzig Mirko-von-Leipzig changed the title feat(ntx): export NtxAuth and implement RPC clien feat(ntx): export NtxAuth and implement RPC client May 30, 2026
Comment thread crates/rpc/src/lib.rs
mod tests;

pub use server::{Rpc, RpcMode};
pub use server::{NetworkTxAuth, Rpc, RpcMode};
Copy link
Copy Markdown
Collaborator

@Mirko-von-Leipzig Mirko-von-Leipzig May 30, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While testing 0xMiden/miden-client#2203, I realized we needed NtxAuth exported for bootstrapping the testing node easily, so I made that change in this branch.

I'm not quite following the flow here - do you manually submit ntx yourselves to get things into a certain state?

I thought we were switching to the docker compose setup, but that's currently in a broken state pending #2159 and #2160

Base automatically changed from santiagopittella-ntx-builder-block-sub-phase-3 to next May 30, 2026 07:17
@igamigo igamigo force-pushed the igamigo-export-ntxauth branch from c5c7483 to 0c1f920 Compare May 30, 2026 16:00
@igamigo
Copy link
Copy Markdown
Collaborator Author

igamigo commented May 30, 2026

client integration tests are still not passing.

What was missing here was adding the genesis commitment to the RPC client's accept header settings.

I'm not quite following the flow here - do you manually submit ntx yourselves to get things into a certain state?

From before, we were manually setting up the processes for our testing node, which allowed us to configure various things (haven't looked at migrating to the docker setup). Now, for starting the RPC process we need to set the ntx auth headers which requires that struct if we want to do it in Rust:

            Rpc {
                listener: grpc_rpc,
                ...
                network_tx_auth: Some(NetworkTxAuth(ntx_auth_header)),
            }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants