Closed Andrewjkim2014 closed 8 months ago
I moved this issue to the api
since it doesn't have anything to do with the apps.
In order to properly help I need a reproducible code example, and a proper question to work off of. Please format it using markdown code formatting. Thank you
Thank you TarikGul for responding.
This is current log that I get from the polkadot parachain network using the chain flag (--chain contracts-rococo-local).
2024-03-02 19:17:21.748 TRACE tokio-runtime-worker peerset: [Parachain] Adding reserved node 12D3KooWMi8BPM372mzMjtsiKjgHMDiSYFFgmJ58U8AeVsQNXAP6 on SetId(0).
2024-03-02 19:17:21.749 TRACE tokio-runtime-worker peerset: [Parachain] Connecting to 12D3KooWMi8BPM372mzMjtsiKjgHMDiSYFFgmJ58U8AeVsQNXAP6 on SetId(0) (0/8 num_out/max_out).
2024-03-02 19:17:21.750 WARN tokio-runtime-worker peerset: [Parachain] Trying to add an already reserved node 12D3KooWMi8BPM372mzMjtsiKjgHMDiSYFFgmJ58U8AeVsQNXAP6 as reserved on SetId(0).
2024-03-02 19:17:21.750 TRACE tokio-runtime-worker peerset: [Parachain] Adding a new known peer 12D3KooWMi8BPM372mzMjtsiKjgHMDiSYFFgmJ58U8AeVsQNXAP6.
2024-03-02 19:17:21.750 TRACE tokio-runtime-worker peerset: [Parachain] Trying to add an already known peer 12D3KooWMi8BPM372mzMjtsiKjgHMDiSYFFgmJ58U8AeVsQNXAP6, bumping last_updated
.
2024-03-02 19:17:21.759 WARN tokio-runtime-worker peerset: [Parachain] Trying to add an already reserved node 12D3KooWMi8BPM372mzMjtsiKjgHMDiSYFFgmJ58U8AeVsQNXAP6 as reserved on SetId(0).
2024-03-02 19:17:21.769 TRACE tokio-runtime-worker peerset: [Parachain] Reserved peer 12D3KooWMi8BPM372mzMjtsiKjgHMDiSYFFgmJ58U8AeVsQNXAP6 (Outbound) dropped from SetId(0).
2024-03-02 19:17:21.769 TRACE tokio-runtime-worker peerset: [Parachain] Peer 12D3KooWMi8BPM372mzMjtsiKjgHMDiSYFFgmJ58U8AeVsQNXAP6 disconnected, reputation: -256 to -256
2024-03-02 19:17:21.899 TRACE tokio-runtime-worker peerset: [Parachain] Connecting to 12D3KooWMi8BPM372mzMjtsiKjgHMDiSYFFgmJ58U8AeVsQNXAP6 on SetId(0) (0/8 num_out/max_out).
2024-03-02 19:17:22.067 WARN tokio-runtime-worker peerset: [Parachain] Trying to add an already reserved node 12D3KooWMi8BPM372mzMjtsiKjgHMDiSYFFgmJ58U8AeVsQNXAP6 as reserved on SetId(0).
2024-03-02 19:17:22.077 WARN tokio-runtime-worker peerset: [Parachain] Trying to add an already reserved node 12D3KooWMi8BPM372mzMjtsiKjgHMDiSYFFgmJ58U8AeVsQNXAP6 as reserved on SetId(0).
2024-03-02 19:17:22.105 WARN tokio-runtime-worker peerset: [Parachain] Trying to add an already reserved node 12D3KooWMi8BPM372mzMjtsiKjgHMDiSYFFgmJ58U8AeVsQNXAP6 as reserved on SetId(0).
2024-03-02 19:17:22.193 TRACE tokio-runtime-worker peerset: [Parachain] Trying to add an already known peer 12D3KooWMi8BPM372mzMjtsiKjgHMDiSYFFgmJ58U8AeVsQNXAP6, bumping last_updated
.
This is the nodejs libp2p configuration for my node:
const options = {
peerId: peerId,
addresses: {
listen: ['/ip4/192.168.1.203/tcp/9944/ws']
},
transports: [
tcp(),
webSockets(),
circuitRelayTransport({
discoverRelays: 2,
})
],
connectionEncryption: [noise()],
streamMuxers: [yamux(), mplex()],
dht: kadDHT(),
peerDiscovery: [
mdns(),
pubsubPeerDiscovery(),
bootstrap({
list: bootstrapNodes
}),
],
services: {
identify: identify(),
ping: ping({
protocolPrefix: 'ipfs',
}),
dht: kadDHT({
kBucketSize: 20,
clientMode: false,
broadcast: true,
}),
relay: circuitRelayServer(),
pubsub: gossipsub({
allowPublishToZeroPeers: true,
emitSelf: true,
floodPublish: false,
gossipIncoming: true,
doPX: false,
directPeers: gossipPeers,
allowedTopics: 'Login'
})
},
config: {
dht: {
kBucketSize: 20,
enabled: true,
randomWalk: {
enabled: true,
interval: 300e3,
timeout: 10e3
}
},
pubsub: {
enabled: true,
emitSelf: false,
},
relay: {
enabled: true,
hop: {
enabled: true,
active: true
}
},
autoNAT: {
enabled: true,
},
},
connectionManager: {
autoDial: true,
maxConnections: 50,
minConnections: 10,
},
}
This is the rpc call to the parachain node thats result in that response from the blockchain terminal: const rpcUrl = 'http://127.0.0.1:9944';
const body = JSON.stringify({
jsonrpc: '2.0',
method: 'system_addReservedPeer',
params: [
/ip4/192.168.1.203/tcp/4003/ws/p2p/${peerId}
],
id: 2
});
const response = await fetch(rpcUrl, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body });
My goal is to be able to see the discover, incoming connection, and accepting connection in the parachain network, which I'm guessing should update the Idle 0 Peers to 1 Peer. I'm still currently trying to fix this issue. If theres anything else that you need from me, please let me know!
This is my reproducible code example.
const options = {
peerId: peerId,
addresses: {
listen: ['/ip4/192.168.1.203/tcp/9944/ws']
},
transports: [
tcp(),
webSockets(),
circuitRelayTransport({
discoverRelays: 2,
})
],
connectionEncryption: [noise()],
streamMuxers: [yamux(), mplex()],
dht: kadDHT(),
peerDiscovery: [
mdns(),
pubsubPeerDiscovery(),
bootstrap({
list: bootstrapNodes
}),
],
services: {
identify: identify(),
ping: ping({
protocolPrefix: 'ipfs',
}),
dht: kadDHT({
kBucketSize: 20,
clientMode: false,
broadcast: true,
}),
relay: circuitRelayServer(),
pubsub: gossipsub({
allowPublishToZeroPeers: true,
emitSelf: true,
floodPublish: false,
gossipIncoming: true,
doPX: false,
directPeers: gossipPeers,
allowedTopics: 'Login'
})
},
config: {
dht: {
kBucketSize: 20,
enabled: true,
randomWalk: {
enabled: true,
interval: 300e3,
timeout: 10e3
}
},
pubsub: {
enabled: true,
emitSelf: false,
},
relay: {
enabled: true,
hop: {
enabled: true,
active: true
}
},
autoNAT: {
enabled: true,
},
},
connectionManager: {
autoDial: true,
maxConnections: 50,
minConnections: 10,
},
}
const node = await createLibp2p(options);
node.addEventListener('peer:discovery', async (event) => {
const peerInfo = event.detail;
console.log("New peer discovered", peerInfo.id.toString());
const rpcUrl = 'http://127.0.0.1:9944';
const body = JSON.stringify({
jsonrpc: '2.0',
method: 'system_addReservedPeer',
params: [
`/ip4/192.168.1.203/tcp/4003/ws/p2p/${peerId}`
],
id: 2
});
const response = await fetch(rpcUrl, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body
});
})
node.addEventListener('peer:connect', async (event) => {
console.log('peer connect', event.detail)
})
await node.start();
}
}
So from the code you provided it seems this is out of scope for these libraries as this is not a polkadot-js issue.
Best to ask this question in Substrate Stack Exchange: https://substrate.stackexchange.com/questions
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue if you think you have a related problem or query.
For my blockchain network terminal, I start this node using this command: ./target/release/polkadot-parachain --chain contracts-rococo-local --tmp --rpc-cors all
In the process of event listener discovery, the dial method is implemented to all the multiaddresses.
This is the console.log from the event listeners: peerInfo { id: PeerId(12D3KooWJb4BDK6gRLH27mYnd22igZQi6W3xraAJsvSanaccPNVx), multiaddrs: [ Multiaddr(/ip4/127.0.0.1/tcp/53624/ws), Multiaddr(/ip4/192.168.1.203/tcp/53624/ws) ] } multiaddress Multiaddr(/ip4/192.168.1.203/tcp/53624/ws)
If you have any questions, please state your questions below in order to better understand the situation!
React-Expo-Native (front-end) Express (Back-end) Node.js v21.6.1
Version:
Environment:
Language: