Skip to content
Snippets Groups Projects
Select Git revision
7 results

Voxophone

  • Clone with SSH
  • Clone with HTTPS
  • permissioning

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

    Example Configuration File

    # ==================================
    # Permissioning Server Configuration
    # ==================================
    
    # Log message level
    logLevel: 1
    
    # Verbose logging
    verbose: "true"
    # 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
    
    # UDB ID
    udbID: 1
    
    # Public address, used in NDF it gives to client
    publicAdress: "0.0.0.0:11420"
    
    # The listening port of this  server
    port: 11420
    
    # 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"
    
    # === REQUIRED FOR ENABLING TLS ===
    # Path to the permissioning server private key file
    keyPath: ""
    # Path to the permissioning server certificate file
    certPath: ""
    
    # E2E/CMIX Primes
    groups:
      cmix:
        prime: "${cmix_prime}"
        generator: "${cmix_generator}"
      e2e:
        prime: "${e2e_prime}"
        generator: "${e2e_generator}"
    
    # Selection of scheduling algorithem to use. Options are:
    #   simple - Schedules multiple teams to maximize performance, does not randomly re-arrange teams, if only a single
    #            only scheduling a single team, will use numerical ordering data for AlphaNet
    #   secure - Schedules new teams randomly, has apropreate buffers to ensure unpredictability, designed for BetaNet
    schedulingAlgorithm: "single"
    
    # Path to file with config for scheduling algorithem within the user directory 
    schedulingConfigPath: "schedulingConfig.json"