Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions doc/measuring-transaction-throughput.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,21 +70,21 @@ Supercluster supports running missions with artificially generated network topol
"peers": [
1
],
"sb_homeDomain": "org1"
"radar_homeDomain": "org1"
},
{
"publicKey": 1,
"peers": [
0
],
"sb_homeDomain": "org2"
"radar_homeDomain": "org2"
}
]
```
- “publicKey” is the ID of the node. It can be an actual public key string, or any unique identifier (in the example above numbers are used as IDs)
- “Peers“ is the list of other IDs that this node should connect to
- “sb_homeDomain” is the home domain of the organization this node belongs to
- To mark nodes as “Tier1”, sb_homeDomain must be any of the following: [“sdf”, “pn”, “lo”, “wx”, “cq”, “sp”, “bd”]. Note: right now the Tier1 orgs are hard-coded, since this is the only Tier1 configuration used currently, but in the future this functionality can be improved by allowing arbitrary nodes to specify whether they are Tier1.
- “radar_homeDomain” is the home domain of the organization this node belongs to
- To mark nodes as “Tier1”, radar_homeDomain must be any of the following: [“sdf”, “pn”, “lo”, “wx”, “cq”, “sp”, “bd”]. Note: right now the Tier1 orgs are hard-coded, since this is the only Tier1 configuration used currently, but in the future this functionality can be improved by allowing arbitrary nodes to specify whether they are Tier1.

## Example command

Expand Down
24 changes: 12 additions & 12 deletions src/FSLibrary/StellarNetworkData.fs
Original file line number Diff line number Diff line change
Expand Up @@ -343,7 +343,7 @@ let FullPubnetCoreSets (context: MissionContext) (manualclose: bool) (enforceMin
[ for i in 1 .. context.tier1OrgsToAdd * tier1OrgSize ->
PubnetNode.Parse(
sprintf
""" [{ "publicKey": "%s", "sb_homeDomain": "home.domain.%d" }] """
""" [{ "publicKey": "%s", "radar_homeDomain": "home.domain.%d" }] """
(KeyPair.Random().Address)
((i - 1) / tier1OrgSize)
).[0] ]
Expand All @@ -365,7 +365,7 @@ let FullPubnetCoreSets (context: MissionContext) (manualclose: bool) (enforceMin
else
PubnetNode.Load(context.pubnetData.Value)
// Any node with a home domain is considered tier1.
|> Array.filter (fun n -> n.SbHomeDomain.IsSome)
|> Array.filter (fun n -> n.RadarHomeDomain.IsSome)
|> Array.map (fun n -> n.PublicKey)
|> Set.ofArray

Expand Down Expand Up @@ -421,7 +421,7 @@ let FullPubnetCoreSets (context: MissionContext) (manualclose: bool) (enforceMin
let orgNodes, miscNodes =
allPubnetNodes
|> Array.filter (fun (n: PubnetNode.Root) -> minAllowedConnectionCount <= numPeers adjacencyMap n.PublicKey)
|> Array.partition (fun (n: PubnetNode.Root) -> n.SbHomeDomain.IsSome)
|> Array.partition (fun (n: PubnetNode.Root) -> n.RadarHomeDomain.IsSome)

// We then trim down the set of misc nodes so that they fit within simulation
// size limit passed. If we can't even fit the org nodes, we fail here.
Expand Down Expand Up @@ -451,7 +451,7 @@ let FullPubnetCoreSets (context: MissionContext) (manualclose: bool) (enforceMin
let groupedOrgNodes : (HomeDomainName * PubnetNode.Root array) array =
Array.groupBy
(fun (n: PubnetNode.Root) ->
let domain = n.SbHomeDomain.Value
let domain = n.RadarHomeDomain.Value
// We turn 'www.stellar.org' into 'stellar'
// and 'stellar.blockdaemon.com' into 'blockdaemon'
// 'validator.stellar.expert' is a special case
Expand Down Expand Up @@ -539,11 +539,11 @@ let FullPubnetCoreSets (context: MissionContext) (manualclose: bool) (enforceMin
let tier1Nodes =
allPubnetNodes
|> Array.filter
(fun (n: PubnetNode.Root) -> (Set.contains n.PublicKey tier1KeySet) && n.SbHomeDomain.IsSome)
(fun (n: PubnetNode.Root) -> (Set.contains n.PublicKey tier1KeySet) && n.RadarHomeDomain.IsSome)

let tier1NodesGroupedByHomeDomain : (string array) array =
tier1Nodes
|> Array.groupBy (fun (n: PubnetNode.Root) -> n.SbHomeDomain.Value)
|> Array.groupBy (fun (n: PubnetNode.Root) -> n.RadarHomeDomain.Value)
|> Array.map
(fun (_, nodes: PubnetNode.Root []) -> Array.map (fun (n: PubnetNode.Root) -> n.PublicKey) nodes)

Expand Down Expand Up @@ -596,11 +596,11 @@ let FullPubnetCoreSets (context: MissionContext) (manualclose: bool) (enforceMin
// as long as the random function is persistent.
let geoLocations : GeoLoc array =
allPubnetNodes
|> Array.filter (fun (n: PubnetNode.Root) -> n.SbGeoData.IsSome)
|> Array.filter (fun (n: PubnetNode.Root) -> n.RadarGeoData.IsSome)
|> Array.map
(fun (n: PubnetNode.Root) ->
{ lat = float n.SbGeoData.Value.Latitude
lon = float n.SbGeoData.Value.Longitude })
{ lat = float n.RadarGeoData.Value.Latitude
lon = float n.RadarGeoData.Value.Longitude })
|> Seq.ofArray
|> Seq.sortBy (fun x -> x.lat, x.lon)
|> Array.ofSeq
Expand All @@ -612,7 +612,7 @@ let FullPubnetCoreSets (context: MissionContext) (manualclose: bool) (enforceMin
// node. This ensures that geolocations persist across runs, even if the
// total number of nodes changes via the *-orgs-to-add flags.
let getGeoLocOrDefault (n: PubnetNode.Root) : GeoLoc =
match n.SbGeoData with
match n.RadarGeoData with
| Some geoData -> { lat = float geoData.Latitude; lon = float geoData.Longitude }
| None ->
let hash = Util.Hash(System.Text.Encoding.UTF8.GetBytes(n.PublicKey))
Expand Down Expand Up @@ -663,10 +663,10 @@ let FullPubnetCoreSets (context: MissionContext) (manualclose: bool) (enforceMin
let tier1 = Set.contains n.PublicKey tier1KeySet
let hdn = homeDomainNameForKey n.PublicKey

match tier1, n.SbIsValidating, defaultQuorum with
match tier1, n.RadarIsValidating, defaultQuorum with
| true, _, _ ->
// Tier 1 nodes are always validators and have the default tier1
// quorum set. This ignores the stellarbeat validator designation
// quorum set. This ignores the radar validator designation
// because the user may have passed the --tier1-keys flag, or may be
// adding additional tier1 nodes with --tier-1-orgs-to-add.
true, defaultQuorum
Expand Down
30 changes: 15 additions & 15 deletions src/FSLibrary/json-type-samples/sample-network-data.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,21 @@
"GDUBKMXWLSQNK33XQNRPSDEYODROPPRM4XLJGXFEZPWCLKIOFOTTCX3B"
],
"publicKey": "GCP7LQUW5UXXDNQI4ENXTUULZOIEIR6UDRC5S3VN6ZGKMOZ6TL3YB6IS",
"sb_geoData": {
"radar_geoData": {
"countryCode": "US",
"countryName": "United States",
"dateUpdated": "2020-01-01T01:01:01.000Z",
"latitude": 40.01212121212,
"longitude": -60.01212121212
},
"sb_homeDomain": "www.someone.org",
"sb_index": 1,
"sb_ip": "192.168.1.1",
"sb_isValidating": true,
"sb_isp": "Some Datacenter Inc.",
"sb_name": "SomeoneNet-1",
"sb_organizationId": "764efa883dda1e11db47671c4a3bbd9e",
"sb_quorumSet": {
"radar_homeDomain": "www.someone.org",
"radar_index": 1,
"radar_ip": "192.168.1.1",
"radar_isValidating": true,
"radar_isp": "Some Datacenter Inc.",
"radar_name": "SomeoneNet-1",
"radar_organizationId": "764efa883dda1e11db47671c4a3bbd9e",
"radar_quorumSet": {
"hashKey": "MzI3MzUyODNjODk2NzQ2YmQyMzNjOThkNDZkMDM4OThkOGJmNDdjZiAgLQo=",
"innerQuorumSets": [
{
Expand Down Expand Up @@ -57,18 +57,18 @@
"GDQHFKIEF3NPKZVDC2WO5E5P54H3UG3QU2AZZCDINVF4THK5BZV6E4AK"
],
"publicKey": "GBDRGD7ZSIBXYLRHNO2LRI2BLOLOLD4THAMDCMCVK3JX2GFE4KQWABUE",
"sb_geoData": {
"radar_geoData": {
"countryCode": "PL",
"countryName": "Poland",
"dateUpdated": "2020-01-01T01:01:01.100Z",
"latitude": 51.012121212,
"longitude": 17.012121212
},
"sb_index": 0.5,
"sb_ip": "192.168.1.1",
"sb_isValidating": false,
"sb_isp": "Some ISP",
"sb_quorumSet": {
"radar_index": 0.5,
"radar_ip": "192.168.1.1",
"radar_isValidating": false,
"radar_isp": "Some ISP",
"radar_quorumSet": {
"innerQuorumSets": [],
"threshold": 9999999,
"validators": ["GBN5UP5XG2NKBGSBXGV632XFUQYYU62XYWR47GH7KQZUQDTVT7ROGK5C",
Expand Down
6 changes: 3 additions & 3 deletions topologies/theoretical-max-tps.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
5,
6
],
"sb_homeDomain": "sdf"
"radar_homeDomain": "sdf"
},
{
"publicKey": 1,
Expand All @@ -21,7 +21,7 @@
5,
6
],
"sb_homeDomain": "lo"
"radar_homeDomain": "lo"
},
{
"publicKey": 2,
Expand All @@ -33,7 +33,7 @@
5,
6
],
"sb_homeDomain": "pn"
"radar_homeDomain": "pn"
},
{
"publicKey": 3,
Expand Down