Skip to content

Commit 1de6797

Browse files
committed
minor changes to simulation
1 parent 2a1e53b commit 1de6797

2 files changed

Lines changed: 28 additions & 22 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ node_modules/
4343

4444
# RLN / keystore
4545
rlnKeystore.json
46+
rln_keystore*.json
4647
*.tar.gz
4748

4849
# Nimbus Build System

simulations/mixnet/setup_credentials.nim

Lines changed: 27 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,7 @@
1010
##
1111
## Usage: nim c -r setup_credentials.nim
1212

13-
import
14-
std/[os, strformat, options],
15-
chronicles,
16-
chronos,
17-
results
13+
import std/[os, strformat, options], chronicles, chronos, results
1814

1915
import
2016
mix_rln_spam_protection/credentials,
@@ -23,9 +19,9 @@ import
2319
mix_rln_spam_protection/types
2420

2521
const
26-
KeystorePassword = "mix-rln-password" # Must match protocol.nim
27-
DefaultUserMessageLimit = 100'u64 # Network-wide default rate limit
28-
SpammerUserMessageLimit = 3'u64 # Lower limit for spammer testing
22+
KeystorePassword = "mix-rln-password" # Must match protocol.nim
23+
DefaultUserMessageLimit = 100'u64 # Network-wide default rate limit
24+
SpammerUserMessageLimit = 3'u64 # Lower limit for spammer testing
2925

3026
# Peer IDs derived from nodekeys in config files
3127
# config.toml: nodekey = "f98e3fba96c32e8d1967d460f1b79457380e1a895f7971cecc8528abe733781a"
@@ -35,18 +31,23 @@ const
3531
# config4.toml: nodekey = "3ce887b3c34b7a92dd2868af33941ed1dbec4893b054572cd5078da09dd923d4"
3632
# chat2mix.sh: nodekey = "cb6fe589db0e5d5b48f7e82d33093e4d9d35456f4aaffc2322c473a173b2ac49"
3733
# chat2mix1.sh: nodekey = "35eace7ccb246f20c487e05015ca77273d8ecaed0ed683de3d39bf4f69336feb"
38-
# spammer.sh: nodekey = "390460d51bdedbe8414ba104f3a1b648331e888545cb6580117ead47d6171368"
3934

4035
# Node info: (peerId, userMessageLimit)
4136
NodeConfigs = [
42-
("16Uiu2HAmPiEs2ozjjJF2iN2Pe2FYeMC9w4caRHKYdLdAfjgbWM6o", DefaultUserMessageLimit), # config.toml (service node)
43-
("16Uiu2HAmLtKaFaSWDohToWhWUZFLtqzYZGPFuXwKrojFVF6az5UF", DefaultUserMessageLimit), # config1.toml (mix node 1)
44-
("16Uiu2HAmTEDHwAziWUSz6ZE23h5vxG2o4Nn7GazhMor4bVuMXTrA", DefaultUserMessageLimit), # config2.toml (mix node 2)
45-
("16Uiu2HAmPwRKZajXtfb1Qsv45VVfRZgK3ENdfmnqzSrVm3BczF6f", DefaultUserMessageLimit), # config3.toml (mix node 3)
46-
("16Uiu2HAmRhxmCHBYdXt1RibXrjAUNJbduAhzaTHwFCZT4qWnqZAu", DefaultUserMessageLimit), # config4.toml (mix node 4)
47-
("16Uiu2HAm1QxSjNvNbsT2xtLjRGAsBLVztsJiTHr9a3EK96717hpj", DefaultUserMessageLimit), # chat2mix client 1
48-
("16Uiu2HAmC9h26U1C83FJ5xpE32ghqya8CaZHX1Y7qpfHNnRABscN", DefaultUserMessageLimit), # chat2mix client 2
49-
("16Uiu2HAmQwJtaL3r54D7WzCoBaUPdb1XRakHpWeEVqSPnYYXHQDL", SpammerUserMessageLimit), # spammer (lower limit for testing)
37+
("16Uiu2HAmPiEs2ozjjJF2iN2Pe2FYeMC9w4caRHKYdLdAfjgbWM6o", DefaultUserMessageLimit),
38+
# config.toml (service node)
39+
("16Uiu2HAmLtKaFaSWDohToWhWUZFLtqzYZGPFuXwKrojFVF6az5UF", DefaultUserMessageLimit),
40+
# config1.toml (mix node 1)
41+
("16Uiu2HAmTEDHwAziWUSz6ZE23h5vxG2o4Nn7GazhMor4bVuMXTrA", DefaultUserMessageLimit),
42+
# config2.toml (mix node 2)
43+
("16Uiu2HAmPwRKZajXtfb1Qsv45VVfRZgK3ENdfmnqzSrVm3BczF6f", DefaultUserMessageLimit),
44+
# config3.toml (mix node 3)
45+
("16Uiu2HAmRhxmCHBYdXt1RibXrjAUNJbduAhzaTHwFCZT4qWnqZAu", DefaultUserMessageLimit),
46+
# config4.toml (mix node 4)
47+
("16Uiu2HAm1QxSjNvNbsT2xtLjRGAsBLVztsJiTHr9a3EK96717hpj", DefaultUserMessageLimit),
48+
# chat2mix client 1
49+
("16Uiu2HAmC9h26U1C83FJ5xpE32ghqya8CaZHX1Y7qpfHNnRABscN", DefaultUserMessageLimit),
50+
# chat2mix client 2
5051
]
5152

5253
proc setupCredentialsAndTree() {.async.} =
@@ -56,15 +57,16 @@ proc setupCredentialsAndTree() {.async.} =
5657
echo "Generating credentials for ", NodeConfigs.len, " nodes...\n"
5758

5859
# Generate credentials for all nodes
59-
var allCredentials: seq[tuple[peerId: string, cred: IdentityCredential, rateLimit: uint64]]
60+
var allCredentials:
61+
seq[tuple[peerId: string, cred: IdentityCredential, rateLimit: uint64]]
6062
for (peerId, rateLimit) in NodeConfigs:
6163
let cred = generateCredentials().valueOr:
6264
echo "Failed to generate credentials for ", peerId, ": ", error
6365
quit(1)
6466

6567
allCredentials.add((peerId: peerId, cred: cred, rateLimit: rateLimit))
6668
echo "Generated credentials for ", peerId
67-
echo " idCommitment: ", cred.idCommitment.toHex()[0..15], "..."
69+
echo " idCommitment: ", cred.idCommitment.toHex()[0 .. 15], "..."
6870
echo " userMessageLimit: ", rateLimit
6971

7072
echo ""
@@ -85,10 +87,13 @@ proc setupCredentialsAndTree() {.async.} =
8587
# Register all credentials in the tree with their specific rate limits
8688
echo "Registering all credentials in the Merkle tree..."
8789
for i, entry in allCredentials:
88-
let index = (await groupManager.registerWithLimit(entry.cred.idCommitment, entry.rateLimit)).valueOr:
90+
let index = (
91+
await groupManager.registerWithLimit(entry.cred.idCommitment, entry.rateLimit)
92+
).valueOr:
8993
echo "Failed to register credential for ", entry.peerId, ": ", error
9094
quit(1)
91-
echo " Registered ", entry.peerId, " at index ", index, " (limit: ", entry.rateLimit, ")"
95+
echo " Registered ",
96+
entry.peerId, " at index ", index, " (limit: ", entry.rateLimit, ")"
9297

9398
echo ""
9499

@@ -113,7 +118,7 @@ proc setupCredentialsAndTree() {.async.} =
113118
KeystorePassword,
114119
keystorePath,
115120
some(MembershipIndex(i)),
116-
some(entry.rateLimit)
121+
some(entry.rateLimit),
117122
)
118123
if saveResult.isErr:
119124
echo "Failed to save keystore for ", entry.peerId, ": ", saveResult.error

0 commit comments

Comments
 (0)