pub struct SetupArgs {
pub mbps: u64,
pub region: String,
pub multiaddrs: Vec<String>,
pub yes: bool,
pub accept_terms: bool,
pub chain: ChainArgs,
}Expand description
decdn setup --mbps <N> --region <CC> — run the operator through Phase 1
pre-flight checks and Phase 2 on-chain setup, then print a go/no-go
readiness summary. The flattened ChainArgs supplies the same
--rpc-url / --capacity-bond-address / --keystore / --dry-run /
--json flags as node bond / node register.
Fields§
§mbps: u64Declared serving capacity in Mbps. The TOKEN bond is read on-chain as
max(minBond, bondRequired(mbps)) (same as decdn node bond); you do
not pass a token amount. Must fall within the governable
[minCapacityMbps, maxCapacityMbps] band.
region: StringISO 3166-1 alpha-2 country code submitted as the on-chain regionHint
(ADR 030) at registration — e.g. US, DE. Self-reported.
multiaddrs: Vec<String>QUIC multiaddr to register, e.g. /ip4/203.0.113.10/udp/4433/quic-v1.
Repeatable. The node listens on the same port over IPv4 and IPv6, so a
dual-stack host also registers /ip6/2001:db8::10/udp/4433/quic-v1.
Omitted, it defaults to the host’s public address on
network.bind_port when the default route has one. A host behind NAT
registers none, and peers reach it through the relay; pass the
forwarded address here if UDP network.bind_port is forwarded.
yes: boolSkip the interactive confirmation of the bond amount and submit without
prompting (for non-interactive / CI use). The keystore password still
comes from DECDN_KEYSTORE_PASSWORD / --keystore-password-file.
accept_terms: boolAccept the network’s current operator terms non-interactively (ADR 019
§ Terms Acceptance). Separate from --yes (which only skips the bond
confirmation): terms acceptance is always its own explicit act. On a
terminal the terms are shown and confirmed interactively instead.
chain: ChainArgsChain coordinates: RPC endpoint, contract addresses, and keystore.
Trait Implementations§
Source§impl Args for SetupArgs
impl Args for SetupArgs
Source§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
Source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§impl FromArgMatches for SetupArgs
impl FromArgMatches for SetupArgs
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Auto Trait Implementations§
impl Freeze for SetupArgs
impl RefUnwindSafe for SetupArgs
impl Send for SetupArgs
impl Sync for SetupArgs
impl Unpin for SetupArgs
impl UnsafeUnpin for SetupArgs
impl UnwindSafe for SetupArgs
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more