Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update configs and node version support for 8.9.x #1743

Merged
merged 10 commits into from
Apr 21, 2024
51 changes: 40 additions & 11 deletions docs/Build/node-cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,43 +91,72 @@ Press Ctrl-C to exit node and return to console.
Now that you've tested the basic node operation, you might want to customise your config files (assuming you are in top-level folder , i.e. `cd "${CNODE_HOME}"`) :

1. files/config.json :
This file contains the logging configurations (tracers of to tune logging, paths for other genesis config files, address/ports on which the prometheus/EKG monitoring will listen, etc). Unless running more than one node on same machine (not recommended), you should be alright to use this file as-is.
This file contains the logging configurations (tracers of to tune logging, paths for other genesis config files, address/ports on which the prometheus/EKG monitoring will listen, etc). Unless running more than one node on same machine (not recommended), you should be alright to use most of this file as-is. You might - however - want to double-check `PeerSharing` in this file, if using a relay node where you'd like connecting peers (marked as `"advertise": "true"` in topology.json) to be shared , you may turn this setting to `true`.

2. files/topology.json :
This file tells your node how to connect to other nodes (especially initially to start synching). You would want to update this file as below:

* Update the `localRoots` > `accessPoints` section to include your local nodes that you want persistent connection against (eg: this could be your BP and own relay nodes).
* You'd want to update `localRoots` > `valency` to number of connections from your localRoots that you always want to keep active connection to.
* [Optional] - you can add/remove nodes from `publicRoots` section, tho defaults populated should work fine. On mainnet, we did add a few additional nodes to help add more redundancy for initial sync - should IO/Emurgo decide to change DNS entries of their nodes.
* `useLedgerAfterSlot` tells the node to establish networking with nodes from localRoots/publicRoots to sync the node initially until reaching an absolute slot number, after which - it can start attempting to connect to peers registered as pool relays on the network. You may want this number to be relatively recent (eg: not hace it 50 epochs old)
* Update the `localRoots` > `accessPoints` section to include your local nodes that you want persistent connection against (eg: this could be your BP and own relay nodes) against definition where `trustable` is set to `true`.
* If you want specific peers to be advertised on the network for discovery, you may set `advertise` to `true` for that peer group. You do NOT want to do that on BP
* You'd want to update `localRoots` > `valency` (`valency` is the same as `hotValency`, not yet replaced since the example in cardano-node-wiki repo still suggests `valency`) to number of connections from your localRoots that you always want to keep active connection to for that node.
* [Optional] - you can add/remove nodes from `publicRoots` section as well as `localRoots` > `accessPoints` as desired, tho defaults populated should work fine. On mainnet, we did add a few additional nodes to help add more redundancy for initial sync.
* `useLedgerAfterSlot` tells the node to establish networking with nodes from defined peers to sync the node initially until reaching an absolute slot number, after which - it can start attempting to connect to peers registered as pool relays on the network. You may want this number to be relatively recent (eg: not have it 50 epochs old).
* You can read further about topology file configuration [here](https://github.com/input-output-hk/cardano-node-wiki/blob/main/docs/getting-started/understanding-config-files.md#the-p2p-topologyjson-file)

!!! important
You'd want to set `useLedgerAfterSlot` to `-1` for your Block Producing (Core) node - thereby, telling your Core node to remain in non-P2P mode.
On BP, You'd want to set `useLedgerAfterSlot` to `-1` for your Block Producing (Core) node - thereby, telling your Core node to remain in non-P2P mode, and ensure `PeerSharing` is to `false`.

The resultant topology file could look something like below:

``` json
{
"bootstrapPeers": [
{
"address": "backbone.cardano.iog.io",
"port": 3001
},
{
"address": "backbone.mainnet.emurgornd.com",
"port": 3001
}
],
"localRoots": [
{
"accessPoints": [
{"address": "xx.xx.xx.xx", "port": 6000 },
{"address": "xx.xx.xx.yy", "port": 6000 }
],
"advertise": false,
"trustable": true,
"valency": 2
},
{
"accessPoints": [
{"address": "node-dus.poolunder.com", "port": 6900, "pool": "UNDR", "location": "EU/DE/Dusseldorf" },
{"address": "node-syd.poolunder.com", "port": 6900, "pool": "UNDR", "location": "OC/AU/Sydney" },
{"address": "194.36.145.157", "port": 6000, "pool": "RDLRT", "location": "EU/DE/Baden" },
{"address": "152.53.18.60", "port": 6000, "pool": "RDLRT", "location": "NA/US/StLouis" },
{"address": "148.72.153.168", "port": 16000, "pool": "AAA", "location": "US/StLouis" },
{"address": "78.47.99.41", "port": 6000, "pool": "AAA", "location": "EU/DE/Nuremberg" },
{"address": "relay1-pub.ahlnet.nu", "port": 2111, "pool": "AHL", "location": "EU/SE/Malmo" },
{"address": "relay2-pub.ahlnet.nu", "port": 2111, "pool": "AHL", "location": "EU/SE/Malmo" },
{"address": "relay1.clio.one", "port": 6010, "pool": "CLIO", "location": "EU/IT/Milan" },
{"address": "relay2.clio.one", "port": 6010, "pool": "CLIO", "location": "EU/IT/Bozlano" },
{"address": "relay3.clio.one", "port": 6010, "pool": "CLIO", "location": "EU/IT/Bozlano" }
],
"advertise": false,
"trustable": false,
"valency": 5,
"warmValency": 10
}
],
"publicRoots": [
{
"accessPoints": [
{"address": "...", "port": 3001 },
{"address": "...", "port": 6000 }
],
"accessPoints": [],
"advertise": false
}
],
"useLedgerAfterSlot": 67067585
"useLedgerAfterSlot": 119160667
}
```

Expand Down
10 changes: 5 additions & 5 deletions files/configs/guild/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,21 @@
"ByronGenesisFile": "/opt/cardano/cnode/files/byron-genesis.json",
"ConwayGenesisFile": "/opt/cardano/cnode/files/conway-genesis.json",
"EnableP2P": true,
"ExperimentalHardForksEnabled": false,
"ExperimentalProtocolsEnabled": false,
"LastKnownBlockVersion-Alt": 0,
"LastKnownBlockVersion-Major": 3,
"LastKnownBlockVersion-Minor": 1,
"MinNodeVersion": "8.9.2",
"PeerSharing": true,
"Protocol": "Cardano",
"RequiresNetworkMagic": "RequiresMagic",
"PBftSignatureThreshold": 1,
"ShelleyGenesisFile": "/opt/cardano/cnode/files/shelley-genesis.json",
"EnableLogging": true,
"EnableLogMetrics": false,
"TargetNumberOfActivePeers": 10,
"TargetNumberOfEstablishedPeers": 25,
"TargetNumberOfKnownPeers": 50,
"TargetNumberOfRootPeers": 50,
"EnableLogging": true,
"EnableLogMetrics": false,
"TargetNumberOfRootPeers": 25,
"TraceAcceptPolicy": true,
"TraceBlockFetchClient": true,
"TraceBlockFetchDecisions": false,
Expand Down
31 changes: 16 additions & 15 deletions files/configs/guild/conway-genesis.json
Original file line number Diff line number Diff line change
@@ -1,21 +1,22 @@
{
"poolVotingThresholds": {
"pvtCommitteeNormal": 0.51,
"pvtCommitteeNoConfidence": 0.51,
"pvtHardForkInitiation": 0.51,
"pvtMotionNoConfidence": 0.51
"committeeNormal": 0.51,
"committeeNoConfidence": 0.51,
"hardForkInitiation": 0.51,
"motionNoConfidence": 0.51,
"ppSecurityGroup": 0.51
},
"dRepVotingThresholds": {
"dvtMotionNoConfidence": 0.51,
"dvtCommitteeNormal": 0.51,
"dvtCommitteeNoConfidence": 0.51,
"dvtUpdateToConstitution": 0.51,
"dvtHardForkInitiation": 0.51,
"dvtPPNetworkGroup": 0.51,
"dvtPPEconomicGroup": 0.51,
"dvtPPTechnicalGroup": 0.51,
"dvtPPGovGroup": 0.51,
"dvtTreasuryWithdrawal": 0.51
"motionNoConfidence": 0.51,
"committeeNormal": 0.51,
"committeeNoConfidence": 0.51,
"updateToConstitution": 0.51,
"hardForkInitiation": 0.51,
"ppNetworkGroup": 0.51,
"ppEconomicGroup": 0.51,
"ppTechnicalGroup": 0.51,
"ppGovGroup": 0.51,
"treasuryWithdrawal": 0.51
},
"committeeMinSize": 0,
"committeeMaxTermLength": 200,
Expand All @@ -34,4 +35,4 @@
},
"quorum": 0
}
}
}
21 changes: 21 additions & 0 deletions files/configs/guild/db-sync-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,27 @@
"/opt/cardano/cnode/logs/dbsync.json"
]
],
"insert_options": {
"tx_out": {
"value": "consumed"
},
"ledger": "enable",
"shelley": {
"enable": true
},
"multi_asset": {
"enable": true
},
"metadata": {
"enable": true
},
"plutus": {
"enable": true
},
"governance": "enable",
"offchain_pool_data": "enable",
"json_type": "text"
},
"minSeverity": "Info",
"options": {
"cfokey": {
Expand Down
14 changes: 11 additions & 3 deletions files/configs/guild/topology.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,9 @@
{"address": "127.0.0.1", "port": 6000, "description": "replace-this-with-BP"}
],
"advertise": false,
"trustable": true,
"valency": 1
}
],
"publicRoots": [
},
{
"accessPoints": [
{"address": "209.145.50.190" ,"port": 7001, "name": "rdlrt"},
Expand All @@ -18,6 +17,15 @@
{"address": "185.161.193.105" ,"port": 6011, "name": "clio-1"},
{"address": "relay-guild.adaplus.io" ,"port": 6000, "name": "adaplus"}
],
"advertise": false,
"trustable": false,
"valency": 3,
"warmValency": 5
}
],
"publicRoots": [
{
"accessPoints": [],
"advertise": false
}
],
Expand Down
4 changes: 3 additions & 1 deletion files/configs/mainnet/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
"LastKnownBlockVersion-Major": 3,
"LastKnownBlockVersion-Minor": 0,
"MaxKnownMajorProtocolVersion": 2,
"MinNodeVersion": "8.9.2",
"PeerSharing": false,
"Protocol": "Cardano",
"RequiresNetworkMagic": "RequiresNoMagic",
"ShelleyGenesisFile": "/opt/cardano/cnode/files/shelley-genesis.json",
Expand All @@ -15,7 +17,7 @@
"TargetNumberOfActivePeers": 20,
"TargetNumberOfEstablishedPeers": 50,
"TargetNumberOfKnownPeers": 100,
"TargetNumberOfRootPeers": 100,
"TargetNumberOfRootPeers": 60,
"TraceAcceptPolicy": true,
"TraceBlockFetchClient": true,
"TraceBlockFetchDecisions": false,
Expand Down
41 changes: 21 additions & 20 deletions files/configs/mainnet/conway-genesis.json
Original file line number Diff line number Diff line change
@@ -1,28 +1,29 @@
{
"poolVotingThresholds": {
"pvtCommitteeNormal": 0.51,
"pvtCommitteeNoConfidence": 0.51,
"pvtHardForkInitiation": 0.51,
"pvtMotionNoConfidence": 0.51
"committeeNormal": 0.51,
"committeeNoConfidence": 0.51,
"hardForkInitiation": 0.51,
"motionNoConfidence": 0.51,
"ppSecurityGroup": 0.51
},
"dRepVotingThresholds": {
"dvtMotionNoConfidence": 0.51,
"dvtCommitteeNormal": 0.51,
"dvtCommitteeNoConfidence": 0.51,
"dvtUpdateToConstitution": 0.51,
"dvtHardForkInitiation": 0.51,
"dvtPPNetworkGroup": 0.51,
"dvtPPEconomicGroup": 0.51,
"dvtPPTechnicalGroup": 0.51,
"dvtPPGovGroup": 0.51,
"dvtTreasuryWithdrawal": 0.51
"motionNoConfidence": 0.51,
"committeeNormal": 0.51,
"committeeNoConfidence": 0.51,
"updateToConstitution": 0.51,
"hardForkInitiation": 0.51,
"ppNetworkGroup": 0.51,
"ppEconomicGroup": 0.51,
"ppTechnicalGroup": 0.51,
"ppGovGroup": 0.51,
"treasuryWithdrawal": 0.51
},
"committeeMinSize": 0,
"committeeMaxTermLength": 60,
"govActionLifetime": 14,
"govActionDeposit": 0,
"dRepDeposit": 0,
"dRepActivity": 0,
"committeeMaxTermLength": 200,
"govActionLifetime": 10,
"govActionDeposit": 1000000000,
"dRepDeposit": 2000000,
"dRepActivity": 20,
"constitution": {
"anchor": {
"url": "",
Expand All @@ -34,4 +35,4 @@
},
"quorum": 0
}
}
}
21 changes: 21 additions & 0 deletions files/configs/mainnet/db-sync-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,27 @@
"/opt/cardano/cnode/logs/dbsync.json"
]
],
"insert_options": {
"tx_out": {
"value": "consumed"
},
"ledger": "enable",
"shelley": {
"enable": true
},
"multi_asset": {
"enable": true
},
"metadata": {
"enable": true
},
"plutus": {
"enable": true
},
"governance": "enable",
"offchain_pool_data": "enable",
"json_type": "text"
},
"minSeverity": "Info",
"options": {
"cfokey": {
Expand Down
40 changes: 25 additions & 15 deletions files/configs/mainnet/topology.json
Original file line number Diff line number Diff line change
@@ -1,39 +1,49 @@
{
"bootstrapPeers": [
{
"address": "backbone.cardano.iog.io",
"port": 3001
},
{
"address": "backbone.mainnet.emurgornd.com",
"port": 3001
}
],
"localRoots": [
{
"accessPoints": [
{"address": "127.0.0.1", "port": 6000, "description": "replace-this-with-BP"},
{"address": "127.0.0.1", "port": 6001, "description": "replace-this-with-relay"}
],
"advertise": false,
"valency_INFO": "set the .localRoots.valency to the number of configured accessPoints",
"trustable": true,
"valency": 2
}
],
"publicRoots": [
},
{
"accessPoints": [
{"address": "backbone.cardano-mainnet.iohk.io", "port": 3001, "location": "various" },
{"address": "backbone.cardano.iog.io", "port": 3001, "location": "various" },
{"address": "backbone.mainnet.emurgornd.com", "port": 3001, "location": "various" },
{"address": "node-dus.poolunder.com", "port": 6900, "pool": "UNDR", "location": "EU/DE/Dusseldorf" },
{"address": "node-syd.poolunder.com", "port": 6900, "pool": "UNDR", "location": "OC/AU/Sydney" },
{"address": "194.36.145.157", "port": 6000, "pool": "RDLRT", "location": "EU/DE/Baden" },
{"address": "89.58.43.194", "port": 6000, "pool": "RDLRT", "location": "NA/US/StLouis" },
{"address": "148.72.153.168", "port": 16000, "pool": "AAA", "location": "US/StLouis" },
{"address": "152.53.18.60", "port": 6000, "pool": "RDLRT", "location": "NA/US/StLouis" },
{"address": "148.72.153.168", "port": 16000, "pool": "AAA", "location": "US/StLouis" },
{"address": "78.47.99.41", "port": 6000, "pool": "AAA", "location": "EU/DE/Nuremberg" },
{"address": "relay1-pub.ahlnet.nu", "port": 2111, "pool": "AHL", "location": "EU/SE/Malmo" },
{"address": "relay2-pub.ahlnet.nu", "port": 2111, "pool": "AHL", "location": "EU/SE/Malmo" },
{"address": "relay1.clio.one", "port": 6010, "pool": "CLIO", "location": "EU/IT/Milan" },
{"address": "relay2.clio.one", "port": 6010, "pool": "CLIO", "location": "EU/IT/Bozlano" },
{"address": "relay3.clio.one", "port": 6010, "pool": "CLIO", "location": "EU/IT/Bozlano" },
{"address": "164.90.197.139", "port": 6000, "name": "EDEN", "location": "EU/NL/Amsterdam" },
{"address": "128.199.187.2", "port": 6000, "name": "EDEN", "location": "AS/SG/Singapore" },
{"address": "198.199.70.70", "port": 6000, "name": "EDEN", "location": "NA/US/NorthBergen" }
{"address": "relay3.clio.one", "port": 6010, "pool": "CLIO", "location": "EU/IT/Bozlano" }
],
"advertise": false,
"trustable": false,
"valency": 5,
"warmValency": 10
}
],
"publicRoots": [
{
"accessPoints": [],
"advertise": false
}
],
"useLedgerAfterSlot_INFO": "the node will use the .publicRoots.accessPoints only until he synchronised up to slot .useLedgerAfterSlot. then P2P peering jumps in, plus static links to .localRoots.accessPoints",
"useLedgerAfterSlot": 114590908
"useLedgerAfterSlot": 119160667
}
4 changes: 3 additions & 1 deletion files/configs/preprod/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
"LastKnownBlockVersion-Alt": 0,
"LastKnownBlockVersion-Major": 2,
"LastKnownBlockVersion-Minor": 0,
"MinNodeVersion": "8.9.2",
"PeerSharing": false,
"Protocol": "Cardano",
"RequiresNetworkMagic": "RequiresMagic",
"ShelleyGenesisFile": "/opt/cardano/cnode/files/shelley-genesis.json",
Expand All @@ -14,7 +16,7 @@
"TargetNumberOfActivePeers": 20,
"TargetNumberOfEstablishedPeers": 50,
"TargetNumberOfKnownPeers": 100,
"TargetNumberOfRootPeers": 100,
"TargetNumberOfRootPeers": 60,
"TraceAcceptPolicy": true,
"TraceBlockFetchClient": true,
"TraceBlockFetchDecisions": false,
Expand Down
Loading
Loading