Skip to content
Snippets Groups Projects
Select Git revision
  • 1cf7097f23f7d11ceb15d412dbc85a94a0966774
  • release default protected
  • strip-trace
  • master protected
  • hotfix/MemLeakTestLogging
  • Jakub/CI-Test
  • XX-4441
  • xx-4360/geoIP-update
  • Anne/CopyrightHeaders
  • AceVentura/AccountBackup
  • hotfix/GetApplication
  • waitingRoundsRewrite
  • dev
  • quantumSecure
  • fullRateLimit
  • XX-3564/TlsCipherSuite
  • XX-3563/DisableTlsCheck
  • hack/roundThreshold
  • hotfix/groupNotification
  • Project/LastMile
  • HotelMario/Crash
  • v3.6.1
  • v3.5.0
  • v3.4.0
  • v3.3.0
  • v3.2.0
  • v3.1.0
  • v2.2.0
  • v2.1.3
  • v2.1.1
  • v2.1.0
  • v2.0.0
  • v1.5.0
  • v1.4.1
  • v1.4.0
  • v1.3.0
  • v1.2.4
  • v1.2.3
  • v1.2.2
  • v1.2.1
  • v1.2.0
41 results

registration

permissioning

Library containing the Permissioning Server for adding new clients and nodes to cMix

Example Configuration File

# ==================================
# Permissioning Server Configuration
# ==================================

# Log message level (0 = info, 1 = debug, >1 = trace)
logLevel: 1

# Path to log file
logPath: "registration.log"

# Path to the node topology permissioning info
ndfOutputPath: "ndf.json"

# Minimum number of nodes to begin running rounds. This differs from the number
# of members in a team because some scheduling algorithms may require multiple
# teams worth of nodes at minimum.
minimumNodes: 3

# "Location of the user discovery contact file.
udContactPath: "udContact.bin"

# Path to UDB cert file
udbCertPath: "udb.crt"

# Address for UDB
udbAddress: "1.2.3.4:11420"

# Public address, used in NDF it gives to client
publicAddress: "0.0.0.0:11420"

# The listening port of this server
port: 11420

# The minimum version required of gateways to connect
minGatewayVersion: "0.0.0"

# The minimum version required of servers to connect
minServerVersion:  "0.0.0"

# Disable pinging of Gateway public IP address.
disableGatewayPing: false

# Database connection information
dbUsername: "cmix"
dbPassword: ""
dbName: "cmix_server"
dbAddress: ""

# Path to JSON file with list of Node registration codes (in order of network 
# placement)
regCodesFilePath: "regCodes.json"

# List of client codes to be added to the database (for testing)
clientRegCodes:
  - "AAAA"
  - "BBBB"
  - "CCCC"
    

# Client version (will allow all versions with major version 0)
clientVersion: "0.0.0"

# The duration between polling the disabled Node list for updates (Default 1m)
disabledNodesPollDuration: 1m

# Path to the text file with a list of IDs of disabled Nodes. If no path is,
# supplied, then the disabled Node list polling never starts.
disabledNodesPath: "disabledNodes.txt"

# === REQUIRED FOR ENABLING TLS ===
# Path to the permissioning server private key file
keyPath: ""
# Path to the permissioning server certificate file
certPath: ""

# Time interval (in seconds) between committing Node statistics to storage
nodeMetricInterval: 180

# Time interval (in minutes) in which the database is checked for banned nodes
BanTrackerInterval: "3"

# E2E/CMIX Primes
groups:
  cmix:
    prime: "${cmix_prime}"
    generator: "${cmix_generator}"
  e2e:
    prime: "${e2e_prime}"
    generator: "${e2e_generator}"

# Path to file with config for scheduling algorithm within the user directory 
schedulingConfigPath: "Scheduling_Simple_NonRandom.json"

# Time that the registration server waits before timing out while killing the
# round scheduling thread
schedulingKillTimeout: 10s
# Time the registration waits for rounds to close out and stop (optional)
closeTimeout: 60s

# Address of the notification server
nsAddress: ""
# Path to certificate for the notification server
nsCertPath: ""

# Maximum number of connections per period
userRegCapacity: 1000
# How often the number of connections is reset
userRegLeakPeriod: "24h"

# The size of the address space used for ephemeral IDs
addressSpace: 10

SchedulingConfig template:

{
  "TeamSize": 4,
  "BatchSize": 32,
  "RandomOrdering": false,
  "SemiOptimalOrdering": false,
  "MinimumDelay": 60,
  "RealtimeDelay": 3000,
  "Threshold":     10,
  "NodeCleanUpInterval": 3,  
  "Secure": 		     true,
  "RoundTimeout": 60
}

RegCodes Template

[{"RegCode": "qpol", "Order": "0"},
{"RegCode": "yiiq", "Order": "1"},
{"RegCode": "vydz", "Order": "2"},
{"RegCode": "gwxs", "Order": "3"},
{"RegCode": "nahv", "Order": "4"},
{"RegCode": "plmd", "Order": "5"}]