Skip to content

As a developer I want need to fix OCaml node not connecting to rust node, to make sure we are compatible #543

@0xMimir

Description

@0xMimir

OCaml node doesn't connect to rust seed node. OCaml does "connect" but it disconnects immediately after that, with error dial backoff. Libp2p Libp2pBehaviour in p2p-testing has same issue when connecting to our node, with cause being:

IO(
    Custom {
        kind: Other,
        error: Error(Closed)
    }
)

OCaml node successfully connects and maintains connection with libp2p behavior in p2p-testing.

Steps to reproduce, run rust seed node:

export OPENMINA_DISCOVERY_FILTER_ADDR=false
cargo run --bin openmina -r -- node \
    -s 5Jmefsv6MwLGPfCQ88cPvibtJPMgmJT74RTSiCMa9KJBcBA7GqY \
    --libp2p-port 10000 \
    --port 3000 \
    --seed

Run OCaml node:

export MINA_LIBP2P_PASS="" 
export MINA_PRIVKEY_PASS=""

chmod 700 .
mina libp2p generate-keypair --privkey-path mina-libp2p-key

mina daemon \
    --libp2p-keypair mina-libp2p-key \
    --bind-ip 127.0.0.1 \
    --external-port 10001 \
    --client-port 10002 \
    --rest-port 3001 \
    --peer /ip4/127.0.0.1/tcp/10000/p2p/12D3KooWBee4Web8U65PLUumt4kipbiQYxhvNE4nGRHcLEaRfVVz 

When debugging messages using network debugger, messages are same on both nodes, same connect process and exchange handshake over noise, after that 2 select messages.

rust-libp2p node exchanges identity over identify protocol, subscribes to messages over meshsub protocol, and exchanges RPC calls.

OCaml doesn't respond to any messages rust node sends, even though it receives them.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions