"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

Host
- 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"
Error:
   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

Location:
   sn/src/bin/sn_node.rs:223

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 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 192.168.178.29:12001 \
  --public-addr 192.168.178.29:12001 \
  --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
["964780074a68fccce5113fae21dc961113e6e0961aca8c974b6f540f31af6713fca3cd9e7f536097a673730f66f09aa1",["10.0.2.100:12000"]]

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  192.168.178.29:12000->12000/tcp, 192.168.178.29:12000->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 10.0.2.100:12000 --public-addr 192.168.178.29:12000 --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
5 Likes

Would it be an idea to ask Youtubers who talk specifically about podman containers?
https://www.youtube.com/results?search_query=podman+tutorial

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:

3 Likes

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

I’ve also got it posted on stackoverflow.

2 Likes

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

4 Likes

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