Skip to content

Commit

Permalink
Update configs and node version support for 8.9.x (cardano-community#…
Browse files Browse the repository at this point in the history
…1743)

## Description
<!--- Describe your changes -->

- [x] Update topology formats
- [x] Update baseline node version references
- [x] Update node/cli dependency refs and pre-downloaded binaries
- [x] Update document references
- [x] Update dbsync version
  • Loading branch information
rdlrt authored and TrevorBenson committed Apr 28, 2024
1 parent e84b42c commit 4daf708
Show file tree
Hide file tree
Showing 23 changed files with 353 additions and 149 deletions.
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

0 comments on commit 4daf708

Please sign in to comment.