From 35a012b0fe71ec02df1070014bb1fe688d6e13e7 Mon Sep 17 00:00:00 2001 From: Leonard Lyubich Date: Fri, 23 Sep 2022 14:09:32 +0400 Subject: [PATCH] [#214] netmap: Define keys of `NetworkConfig.Parameter` There is a need to declare all system parameters stored as raw key-value parameters in `NetworkConfig` messages. So applications can interpret raw configurations in a controlled manner. Signed-off-by: Leonard Lyubich --- netmap/types.proto | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/netmap/types.proto b/netmap/types.proto index 1259a8c..6163687 100644 --- a/netmap/types.proto +++ b/netmap/types.proto @@ -256,7 +256,47 @@ message Netmap { // NeoFS network configuration message NetworkConfig { - // Single configuration parameter + // Single configuration parameter. Key MUST be network-unique. + // + // System parameters: + // - **AuditFee** \ + // Fee paid by the storage group owner to the Inner Ring member. + // Value: little-endian integer. Default: 0. + // - **BasicIncomeRate** \ + // Cost of storing one gigabyte of data for a period of one epoch. Paid by + // container owner to container nodes. + // Value: little-endian integer. Default: 0. + // - **ContainerAliasFee** \ + // Fee paid for named container's creation by the container owner. + // Value: little-endian integer. Default: 0. + // - **ContainerFee** \ + // Fee paid for container creation by the container owner. + // Value: little-endian integer. Default: 0. + // - **EigenTrustAlpha** \ + // Alpha parameter of EigenTrust algorithm used in the Reputation system. + // Value: decimal floating-point number in UTF-8 string representation. + // Default: 0. + // - **EigenTrustIterations** \ + // Number of EigenTrust algorithm iterations to pass in the Reputation system. + // Value: little-endian integer. Default: 0. + // - **EpochDuration** \ + // NeoFS epoch duration measured in Sidechain blocks. + // Value: little-endian integer. Default: 0. + // - **HomomorphicHashingDisabled** \ + // Flag of disabling the homomorphic hashing of objects' payload. + // Value: true if any byte != 0. Default: false. + // - **InnerRingCandidateFee** \ + // Fee for entrance to the Inner Ring paid by the candidate. + // Value: little-endian integer. Default: 0. + // - **MaintenanceModeAllowed** \ + // Flag allowing setting the MAINTENANCE state to storage nodes. + // Value: true if any byte != 0. Default: false. + // - **MaxObjectSize** \ + // Maximum size of physically stored NeoFS object measured in bytes. + // Value: little-endian integer. Default: 0. + // - **WithdrawFee** \ + // Fee paid for withdrawal of funds paid by the account owner. + // Value: little-endian integer. Default: 0. message Parameter { // Parameter key. UTF-8 encoded string bytes key = 1 [json_name = "key"];