Issue with 'safe node join', Found argument '-v'

I’m trying to connect a node to a genesis node created on localhost, with the genesis node is running inside a container and the connecting node outside.

I’m having an issue with safe node join.

$ podman ps -a
CONTAINER ID  IMAGE                                             COMMAND     CREATED         STATUS             PORTS                     NAMES
f4c9e742c101  ghcr.io/safenetwork-community/rootnode-ipv4:main              12 seconds ago  Up 12 seconds ago  0.0.0.0:12000->12000/tcp  safe_node
$ safe --version
sn_cli 0.36.0
$ safe node bin-version
safe_network 0.32.0
safe networks add local-ipv4
safe networks switch local-ipv4
safe node join
$ RUST_BACKTRACE=1 safe node join
Joining network with contacts (PublicKey(0969..92cb), {127.0.0.1:12000}) ...
Storing nodes' generated data at /home/folaht/.safe/node/local-node
Starting a node to join a Safe network...
Error:
   0: Error launching node
   1: error: Found argument '-v' which wasn't expected, or isn't valid in this context

      USAGE:
          sn_launch_tool-join [FLAGS] [OPTIONS] --genesis-key <genesis-key>

      For more information try --help
   1:

Location:
   /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/core/src/convert/mod.rs:540

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
                                ⋮ 2 frames hidden ⋮
   3: safe::operations::node::node_join::he9738ea05d673347
      at <unknown source file>:<unknown line>
   4: safe::cli::run_with::{{closure}}::h99be10932769df39
      at <unknown source file>:<unknown line>
   5: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h80cbfc19d38324f1
      at <unknown source file>:<unknown line>
   6: tokio::park::thread::CachedParkThread::block_on::h9409c405307696f3
      at <unknown source file>:<unknown line>
   7: tokio::runtime::thread_pool::ThreadPool::block_on::h4ba6a069e0892e7d
      at <unknown source file>:<unknown line>
   8: tokio::runtime::Runtime::block_on::h8898efea270094fe
      at <unknown source file>:<unknown line>
   9: safe::main::hd88a3586d1ac1e9c
      at <unknown source file>:<unknown line>
  10: std::sys_common::backtrace::__rust_begin_short_backtrace::h3031dbf7d21b11b4
      at <unknown source file>:<unknown line>
  11: std::rt::lang_start::{{closure}}::h8303f569986729bc
      at <unknown source file>:<unknown line>
  12: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h8e37053185df443d
      at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/core/src/ops/function.rs:259
  13: std::panicking::try::do_call::h28d83eabce0b9ba1
      at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panicking.rs:401
  14: std::panicking::try::habb08b58a5c06b6e
      at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panicking.rs:365
  15: std::panic::catch_unwind::h3cb2485b63db504e
      at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panic.rs:434
  16: std::rt::lang_start_internal::{{closure}}::h9f793569c8817790
      at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/rt.rs:45
  17: std::panicking::try::do_call::h50eb9f023e42c1ec
      at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panicking.rs:401
  18: std::panicking::try::h8481c5e8b646989c
      at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panicking.rs:365
  19: std::panic::catch_unwind::h4d7844a157b7b8e5
      at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/panic.rs:434
  20: std::rt::lang_start_internal::heb2c068806062534
      at /rustc/c8dfcfe046a7680554bf4eb612bad840e7631c4b/library/std/src/rt.rs:45
  21: main<unknown>
      at <unknown source file>:<unknown line>

Run with COLORBT_SHOW_HIDDEN=1 environment variable to disable frame filtering.
Run with RUST_BACKTRACE=full to include source snippets.
1 Like

Thanks anynomous!

I forgot about that tidbit.
I’m clueless on address 0.0.0.0 as well.

[one hour later…]

Okay, I’ve looked it up.

Listening on 0.0.0.0 means listening from anywhere that has network access to this computer.

And I can set the ip of the published port with --publish <ip>:<incoming port>:<hosting port>/<type>

And just to be on the safe side, I have added UDP as well,
as I believe the safe network uses UDP and TCP just like Storj does.

CONTAINER ID  IMAGE                                             COMMAND     CREATED         STATUS             PORTS                                                   NAMES
1c7c65e9b1ae  ghcr.io/safenetwork-community/rootnode-ipv4:main              59 seconds ago  Up 58 seconds ago  127.0.0.1:12000->12000/tcp, 127.0.0.1:12000->12000/udp  safe_node

Still the error remains.

1 Like