"Invalid genesis key of provided prefix map" Issue with connecting a safe ipv4 root node inside a podman container with ipv4 host node

I’m trying to run an app called the safe network inside a rootless podman container and then connect another node to it.

It fails.

P.S. I’ve never succeeded in connecting a application in podman before, so I’m not sure whether the IPs/ports are correct.

The way I see it, it should be something like:

Root node inside container
- Local: Tap0 address:12000
- Public/Published: LAN address or public address:12000

- Local: LAN address:12001
- Public: LAN address:12001

host error

[folaht@Rezosur-zot joinnode-ipv4_12001]$ Switching to 'lan-ipv4' network...
Fetching 'lan-ipv4' network connection information from '/home/folaht/.safe/cli/networks/lan-ipv4_node_connection_info.config' ...
Successfully switched to 'lan-ipv4' network in your system!
If you need write access to the 'lan-ipv4' network, you'll need to restart authd (safe auth restart), unlock a Safe and re-authorise the CLI again
Starting logging to file: "/home/folaht/.safe/node/joinnode-ipv4_12001"
   0: Cannot start node (log path: /home/folaht/.safe/node/joinnode-ipv4_12001). If this is the first node on the network pass the local address to be used using --first
   1: Routing error:: Invalid genesis key of provided prefix map: 98fe921e10d12a26923678be96a0a7ddd3611bccb0cd1e08504885f750d4dcd88000bb5c40810416a808e354ea890ed5
   2: Invalid genesis key of provided prefix map: 98fe921e10d12a26923678be96a0a7ddd3611bccb0cd1e08504885f750d4dcd88000bb5c40810416a808e354ea890ed5


  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
                                ⋮ 2 frames hidden ⋮
   3: sn_node::run_node::{{closure}}::h25ecfdd3a70b1bde
      at <unknown source file>:<unknown line>
   4: tokio::park::thread::CachedParkThread::block_on::h51bbcc38f77faad1
      at <unknown source file>:<unknown line>
   5: tokio::runtime::thread_pool::ThreadPool::block_on::h7673702caeda508a
      at <unknown source file>:<unknown line>
   6: tokio::runtime::Runtime::block_on::hdb0db57c197d7d2e
      at <unknown source file>:<unknown line>
   7: std::sys_common::backtrace::__rust_begin_short_backtrace::h5df29420ad3a0345
      at <unknown source file>:<unknown line>
   8: core::ops::function::FnOnce::call_once{{vtable.shim}}::hd11cd1ebaf50a1df
      at <unknown source file>:<unknown line>
   9: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h9c8fdf002a2862dd
      at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/alloc/src/boxed.rs:1691
  10: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hfe8ce4f888ff6995
      at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/alloc/src/boxed.rs:1691
  11: std::sys::unix::thread::Thread::new::thread_start::h369b30c405220a1b
      at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/std/src/sys/unix/thread.rs:106

Run with COLORBT_SHOW_HIDDEN=1 environment variable to disable frame filtering.

host command

safe networks switch lan-ipv4 && \
  RUST_BACKTRACE=full ~/.safe/node/sn_node -vv \
  --clear-data \
  --skip-auto-port-forwarding \
  --local-addr \
  --public-addr \
  --root-dir=/home/folaht/.safe/node/joinnode-ipv4_12001 \
  --log-dir=/home/folaht/.safe/node/joinnode-ipv4_12001 &

The IP address and port the host node tries to connect to

[folaht@Rezosur-zot joinnode-ipv4_12001]$ safe networks
| Networks |              |                                                                        |
| Current  | Network name | Connection info                                                        |
| *        | lan-ipv4     | /home/folaht/.safe/cli/networks/lan-ipv4_node_connection_info.config   |
|          | local-ipv4   | /home/folaht/.safe/cli/networks/local-ipv4_node_connection_info.config |
|          | local-ipv6   | /home/folaht/.safe/cli/networks/local-ipv6_node_connection_info.config |
[folaht@Rezosur-zot joinnode-ipv4_12001]$ cat /home/folaht/.safe/cli/networks/lan-ipv4_node_connection_info.config

status container node

[folaht@Rezosur-zot rootnode-ipv4]$ podman ps -a
CONTAINER ID  IMAGE                                COMMAND     CREATED         STATUS             PORTS                                                             NAMES
f4c6a137b93d  localhost/rootnode-ipv4_test:latest              37 minutes ago  Up 37 minutes ago>12000/tcp,>12000/udp  test_rootnode-ipv4

pid container node

[folaht@Rezosur-zot rootnode-ipv4]$ ps -ef | grep sn_node
10999      51780   51777  0 18:13 ?        00:00:01 sn_node -vv --idle-timeout-msec 5500 --keep-alive-interval-msec 4000 --skip-auto-port-forwarding --clear-data --local-addr --public-addr --log-dir /home/admin/.safe/node/rootnode-ipv4_12000 --root-dir /home/admin/.safe/node/rootnode-ipv4_12000 --first
folaht     52185    4230  0 18:50 pts/1    00:00:00 grep --colour=auto sn_node

Would it be an idea to ask Youtubers who talk specifically about podman containers?

Maybe they can help or get really curious about your puzzle? Hmmmmm maybe expand that into everybody on the internet talking about pmc… :stuck_out_tongue_closed_eyes: Stackoverflowing this could also, start a SAFE question pool…

Btw love your experimentation, keep hacking super ant :clap: :beers: :sweat_smile:


I’ve changed my op post as I think this is closest to the correct setup.

I’ve also got it posted on stackoverflow.


Try with making sure there is no ~/.safe/prefix_map file/folder, if there is any remove it and try again.


This topic was automatically closed after 60 days. New replies are no longer allowed.