fix: broken markdown refs auto-resolved
This commit is contained in:
parent
98dbb3cfe4
commit
e621ee7c19
@ -37,7 +37,7 @@ Montana Protocol функционирует на 5 географически р
|
|||||||
| 3 | spb | 188.225.58.98 | RU-NW | MIRROR 3 |
|
| 3 | spb | 188.225.58.98 | RU-NW | MIRROR 3 |
|
||||||
| 4 | novosibirsk | 147.45.147.247 | RU-Siberia | MIRROR 4 |
|
| 4 | novosibirsk | 147.45.147.247 | RU-Siberia | MIRROR 4 |
|
||||||
|
|
||||||
**Исходный код:** [leader_election.py:39-46](Bot/leader_election.py#L39-L46)
|
**Исходный код:** [leader_election.py:39-46](../Bot/leader_election.py#L39-L46)
|
||||||
|
|
||||||
```python
|
```python
|
||||||
BOT_CHAIN: List[Tuple[str, str]] = [
|
BOT_CHAIN: List[Tuple[str, str]] = [
|
||||||
@ -65,7 +65,7 @@ MemoryMax=512M
|
|||||||
MemoryHigh=400M
|
MemoryHigh=400M
|
||||||
```
|
```
|
||||||
|
|
||||||
**Исходный код:** [junona.service](Bot/junona.service)
|
**Исходный код:** junona.service
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -85,7 +85,7 @@ Montana Protocol использует постквантовый алгорит
|
|||||||
| Signature | 3309 байт |
|
| Signature | 3309 байт |
|
||||||
| Адрес | `mt` + SHA256(pubkey)[:20].hex() = 42 символа |
|
| Адрес | `mt` + SHA256(pubkey)[:20].hex() = 42 символа |
|
||||||
|
|
||||||
**Исходный код:** [node_crypto.py](Bot/node_crypto.py)
|
**Исходный код:** [node_crypto.py](../Bot/node_crypto.py)
|
||||||
|
|
||||||
### 2.2 Формат адреса
|
### 2.2 Формат адреса
|
||||||
|
|
||||||
@ -117,7 +117,7 @@ def am_i_the_master(self) -> bool:
|
|||||||
return False
|
return False
|
||||||
```
|
```
|
||||||
|
|
||||||
**Исходный код:** [leader_election.py:326-349](Bot/leader_election.py#L326-L349)
|
**Исходный код:** [leader_election.py:326-349](../Bot/leader_election.py#L326-L349)
|
||||||
|
|
||||||
### 3.2 Health Check
|
### 3.2 Health Check
|
||||||
|
|
||||||
@ -134,7 +134,7 @@ def check_node_health(ip: str) -> bool:
|
|||||||
return False
|
return False
|
||||||
```
|
```
|
||||||
|
|
||||||
**Исходный код:** [leader_election.py:102-134](Bot/leader_election.py#L102-L134)
|
**Исходный код:** [leader_election.py:102-134](../Bot/leader_election.py#L102-L134)
|
||||||
|
|
||||||
### 3.3 Интервалы проверки
|
### 3.3 Интервалы проверки
|
||||||
|
|
||||||
@ -164,7 +164,7 @@ class AttackDetector:
|
|||||||
self.under_attack = False
|
self.under_attack = False
|
||||||
```
|
```
|
||||||
|
|
||||||
**Исходный код:** [leader_election.py:190-232](Bot/leader_election.py#L190-L232)
|
**Исходный код:** [leader_election.py:190-232](../Bot/leader_election.py#L190-L232)
|
||||||
|
|
||||||
### 4.2 Метрики обнаружения атак
|
### 4.2 Метрики обнаружения атак
|
||||||
|
|
||||||
@ -200,7 +200,7 @@ def shuffle_chain_on_attack(self, external_trigger: bool = False):
|
|||||||
self.chain_shuffled = True
|
self.chain_shuffled = True
|
||||||
```
|
```
|
||||||
|
|
||||||
**Исходный код:** [leader_election.py:395-430](Bot/leader_election.py#L395-L430)
|
**Исходный код:** [leader_election.py:395-430](../Bot/leader_election.py#L395-L430)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -222,7 +222,7 @@ class AtlantGuard:
|
|||||||
self.degraded_count = 0 # Счётчик высоких значений подряд
|
self.degraded_count = 0 # Счётчик высоких значений подряд
|
||||||
```
|
```
|
||||||
|
|
||||||
**Исходный код:** [junomontanaagibot.py:709-754](Bot/junomontanaagibot.py#L709-L754)
|
**Исходный код:** junomontanaagibot.py:709-754
|
||||||
|
|
||||||
### 5.2 Health Check с защитой от ложных срабатываний
|
### 5.2 Health Check с защитой от ложных срабатываний
|
||||||
|
|
||||||
@ -249,7 +249,7 @@ def health_check(self) -> Dict[str, Any]:
|
|||||||
self.degraded_count = 0
|
self.degraded_count = 0
|
||||||
```
|
```
|
||||||
|
|
||||||
**Исходный код:** [junomontanaagibot.py:1001-1051](Bot/junomontanaagibot.py#L1001-L1051)
|
**Исходный код:** junomontanaagibot.py:1001-1051
|
||||||
|
|
||||||
### 5.3 Пороги AtlantGuard
|
### 5.3 Пороги AtlantGuard
|
||||||
|
|
||||||
@ -269,7 +269,7 @@ MAX_NODE_SYNCS_PER_MINUTE = 10 # Синхронизаций узла/мин
|
|||||||
MAX_API_CALLS_PER_MINUTE = 100 # API вызовов/мин на endpoint
|
MAX_API_CALLS_PER_MINUTE = 100 # API вызовов/мин на endpoint
|
||||||
```
|
```
|
||||||
|
|
||||||
**Исходный код:** [junomontanaagibot.py:734-738](Bot/junomontanaagibot.py#L734-L738)
|
**Исходный код:** junomontanaagibot.py:734-738
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -290,7 +290,7 @@ Git-синхронизация состояния сети каждые 12 се
|
|||||||
Повтор
|
Повтор
|
||||||
```
|
```
|
||||||
|
|
||||||
**Исходный код:** [breathing_sync.py](Bot/breathing_sync.py)
|
**Исходный код:** [breathing_sync.py](../Bot/breathing_sync.py)
|
||||||
|
|
||||||
### 6.2 Интеграция с Leader Election
|
### 6.2 Интеграция с Leader Election
|
||||||
|
|
||||||
@ -322,7 +322,7 @@ is_master_func=lambda: self.is_master
|
|||||||
1 τ₂ = 10 τ₁ = 600 секунд
|
1 τ₂ = 10 τ₁ = 600 секунд
|
||||||
```
|
```
|
||||||
|
|
||||||
**Исходный код:** [time_bank.py:44-80](Bot/time_bank.py#L44-L80)
|
**Исходный код:** [time_bank.py:44-80](../Bot/time_bank.py#L44-L80)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -350,7 +350,7 @@ def halving_coefficient(tau4_count: int) -> float:
|
|||||||
| 2 | 8-12 | 0.25 | 0.25 Ɉ |
|
| 2 | 8-12 | 0.25 | 0.25 Ɉ |
|
||||||
| 3 | 12-16 | 0.125 | 0.125 Ɉ |
|
| 3 | 12-16 | 0.125 | 0.125 Ɉ |
|
||||||
|
|
||||||
**Исходный код:** [time_bank.py:88-113](Bot/time_bank.py#L88-L113)
|
**Исходный код:** [time_bank.py:88-113](../Bot/time_bank.py#L88-L113)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -376,7 +376,7 @@ Rolling deploy выполняется скриптом `deploy_nodes.sh`:
|
|||||||
./deploy_nodes.sh --node moscow # Только один узел
|
./deploy_nodes.sh --node moscow # Только один узел
|
||||||
```
|
```
|
||||||
|
|
||||||
**Исходный код:** [deploy_nodes.sh](Bot/deploy_nodes.sh)
|
**Исходный код:** [deploy_nodes.sh](../Bot/deploy_nodes.sh)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user