You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

bftsmart.config 5.3 kB

5 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. # Copyright (c) 2007-2013 Alysson Bessani, Eduardo Alchieri, Paulo Sousa, and the authors indicated in the @author tags
  2. #
  3. # Licensed under the Apache License, Version 2.0 (the "License");
  4. # you may not use this file except in compliance with the License.
  5. # You may obtain a copy of the License at
  6. #
  7. # http://www.apache.org/licenses/LICENSE-2.0
  8. #
  9. # Unless required by applicable law or agreed to in writing, software
  10. # distributed under the License is distributed on an "AS IS" BASIS,
  11. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. # See the License for the specific language governing permissions and
  13. # limitations under the License.
  14. ############################################
  15. ####### Communication Configurations #######
  16. ############################################
  17. #HMAC algorithm used to authenticate messages between processes (HmacMD5 is the default value)
  18. #This parameter is not currently being used being used
  19. #system.authentication.hmacAlgorithm = HmacSHA1
  20. #Specify if the communication system should use a thread to send data (true or false)
  21. system.communication.useSenderThread = true
  22. #Force all processes to use the same public/private keys pair and secret key. This is useful when deploying experiments
  23. #and benchmarks, but must not be used in production systems.
  24. system.communication.defaultkeys = true
  25. ############################################
  26. ### Replication Algorithm Configurations ###
  27. ############################################
  28. #Timeout to asking for a client request
  29. system.totalordermulticast.timeout = 2000
  30. #Maximum batch size (in number of messages)
  31. system.totalordermulticast.maxbatchsize = 400
  32. #Number of nonces (for non-determinism actions) generated
  33. system.totalordermulticast.nonces = 10
  34. #if verification of leader-generated timestamps are increasing
  35. #it can only be used on systems in which the network clocks
  36. #are synchronized
  37. system.totalordermulticast.verifyTimestamps = false
  38. #Quantity of messages that can be stored in the receive queue of the communication system
  39. system.communication.inQueueSize = 500000
  40. # Quantity of messages that can be stored in the send queue of each replica
  41. system.communication.outQueueSize = 500000
  42. #Set to 1 if SMaRt should use signatures, set to 0 if otherwise
  43. system.communication.useSignatures = 0
  44. #Set to 1 if SMaRt should use MAC's, set to 0 if otherwise
  45. system.communication.useMACs = 1
  46. #Set to 1 if SMaRt should use the standard output to display debug messages, set to 0 if otherwise
  47. system.debug = 0
  48. #Print information about the replica when it is shutdown
  49. system.shutdownhook = true
  50. ############################################
  51. ###### State Transfer Configurations #######
  52. ############################################
  53. #Activate the state transfer protocol ('true' to activate, 'false' to de-activate)
  54. system.totalordermulticast.state_transfer = true
  55. #Maximum ahead-of-time message not discarded
  56. system.totalordermulticast.highMark = 10000
  57. #Maximum ahead-of-time message not discarded when the replica is still on EID 0 (after which the state transfer is triggered)
  58. system.totalordermulticast.revival_highMark = 10
  59. #Number of ahead-of-time messages necessary to trigger the state transfer after a request timeout occurs
  60. system.totalordermulticast.timeout_highMark = 200
  61. ############################################
  62. ###### Log and Checkpoint Configurations ###
  63. ############################################
  64. system.totalordermulticast.log = true
  65. system.totalordermulticast.log_parallel = false
  66. system.totalordermulticast.log_to_disk = false
  67. system.totalordermulticast.sync_log = false
  68. #Period at which BFT-SMaRt requests the state to the application (for the state transfer state protocol)
  69. system.totalordermulticast.checkpoint_period = 1000
  70. system.totalordermulticast.global_checkpoint_period = 120000
  71. system.totalordermulticast.checkpoint_to_disk = false
  72. system.totalordermulticast.sync_ckp = false
  73. ############################################
  74. ###### Reconfiguration Configurations ######
  75. ############################################
  76. #The ID of the trust third party (TTP)
  77. system.ttp.id = 7002
  78. #This sets if the system will function in Byzantine or crash-only mode. Set to "true" to support Byzantine faults
  79. system.bft = true
  80. #Custom View Storage;
  81. #view.storage.handler=bftsmart.reconfiguration.views.DefaultViewStorage
  82. #Number of servers in the group
  83. system.servers.num = 4
  84. #Maximum number of faulty replicas
  85. system.servers.f = 1
  86. #Replicas ID for the initial view, separated by a comma.
  87. # The number of replicas in this parameter should be equal to that specified in 'system.servers.num'
  88. system.initial.view = 0,1,2,3
  89. #Configuration of all node servers;
  90. #PubKey of node server with specified ID, with base58 encoding.
  91. system.server.0.pubkey=
  92. system.server.0.network.host=127.0.0.1
  93. system.server.0.network.port=8900
  94. system.server.0.network.secure=false
  95. system.server.1.pubkey=
  96. system.server.1.network.host=127.0.0.1
  97. system.server.1.network.port=8910
  98. system.server.1.network.secure=false
  99. system.server.2.pubkey=
  100. system.server.2.network.host=127.0.0.1
  101. system.server.2.network.port=8920
  102. system.server.2.network.secure=false
  103. system.server.3.pubkey=
  104. system.server.3.network.host=127.0.0.1
  105. system.server.3.network.port=8920
  106. system.server.3.network.secure=false

一个面向企业应用场景的通用区块链框架系统,能够作为企业级基础设施,为业务创新提供高效、灵活和安全的解决方案