Anyone else having problems with P2P on 8.7.2?
Getting this error on startup:
Is your topology file formatted correctly? Expecting P2P Topology file format. The port and valency fields should be numerical. If you specified the correct topology file make sure that you correctly setup EnableP2P configuration flag.
Error in $: key "localRoots" not found
CallStack (from HasCallStack):
error, called at src/Cardano/Node/Configuration/TopologyP2P.hs:267:23 in cardano-node-8.7.2-Ijb5Onk4yiu454V6szWgTp:Cardano.Node.Configuration.TopologyP2P
If i remove the localRoots section it will boot up fine. So strange. Did the formatting change?
I haven’t change my topology file and this appears to match the default document format.
{
"LocalRoots": {
"groups": [
{
"localRoots": {
"accessPoints": [
{
"address": "192.168.42.8",
"port": 3000
}
],
"advertise": false
},
"valency": 1
}
]
},
"PublicRoots": [
{
"publicRoots" : {
"accessPoints": [
{
"address": "relays-new.cardano-mainnet.iohk.io",
"port": 3001
},
{
"address": "rockyrelay1.ddns.net",
"port": 3001
},
{
"address": "relays.stakepool247.eu",
"port": 3001
}
],
"advertise": false
},
"valency": 3
}
],
"useLedgerAfterSlot": 0
}
Update:
Found an example here:
https://book.world.dev.cardano.org/env-mainnet.html
Here is my new working top topology file:
{
"localRoots": [
{
"accessPoints": [
{
"address": "192.168.42.8",
"port": 3000
}],
"advertise": false,
"valency": 1
}
],
"publicRoots": [
{
"accessPoints": [
{
"address": "relays-new.cardano-mainnet.iohk.io",
"port": 3001
},
{
"address": "rockyrelay1.ddns.net",
"port": 3001
},
{
"address": "relays.stakepool247.eu",
"port": 3001
}
],
"advertise": false,
"valency": 3
}
],
"useLedgerAfterSlot": 110332824
}
Changes to the new topology file format were announced at the time of the 1.35.6 release.
opened 11:20AM - 25 Oct 22 UTC
closed 06:20PM - 08 Nov 22 UTC
enhancement
networking
peer2peer
type: enhancement
user type: internal
comp: networking
area: p2p
Currently the json format is more verbose than it needs to be, e.g.
```json
{
…
"LocalRoots": {
"groups": [
{ "localRoots":
{ "accessPoints":
[ { "address": "35.180.225.101"
, "port": 7776
}
]
, "advertise": false
}
, "valency": 3
}
]
}
, "PublicRoots": [
{ "publicRoots": {
"accessPoints": [
{ "address": "relays-new.cardano-mainnet.iohk.io"
, "port": 3001
}
]
, "advertise": false
}
}
]
, "useLedgerAfterSlot": 45000000
}
```
I suggest we simplify this to something like:
```json
{
"localRoots": [
{ "accessPoints":
[ { "address": "35.180.225.101"
, "port": 7776
}
]
, "advertise": false
, "valency": 1
}
]
, "publicRoots": [
{ "accessPoints": [
{ "address": "relays-new.cardano-mainnet.iohk.io"
, "port": 3001
}
]
, "advertise": false
}
]
, "useLedgerAfterSlot": 45000000
}
```
Note: we ought to support both formats for a while; whenever we match the old format we should log a warning that this format will be only supported for next two major releases.
1 Like
token
18 December 2023 04:52
4
8.7.2 has a new topology
https://book.world.dev.cardano.org/env-mainnet.html
{
"localRoots": [
{
"accessPoints": [],
"advertise": false,
"valency": 1
}
],
"publicRoots": [
{
"accessPoints": [
{
"address": "backbone.cardano-mainnet.iohk.io",
"port": 3001
},
{
"address": "backbone.cardano.iog.io",
"port": 3001
},
{
"address": "backbone.mainnet.emurgornd.com",
"port": 3001
}
],
"advertise": false
}
],
"useLedgerAfterSlot": 110332824
}
The publicRoots accessPoints need to include the three relays starting with backbone.