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 |
|
||||
| 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
|
||||
BOT_CHAIN: List[Tuple[str, str]] = [
|
||||
@ -65,7 +65,7 @@ MemoryMax=512M
|
||||
MemoryHigh=400M
|
||||
```
|
||||
|
||||
**Исходный код:** [junona.service](Bot/junona.service)
|
||||
**Исходный код:** junona.service
|
||||
|
||||
---
|
||||
|
||||
@ -85,7 +85,7 @@ Montana Protocol использует постквантовый алгорит
|
||||
| Signature | 3309 байт |
|
||||
| Адрес | `mt` + SHA256(pubkey)[:20].hex() = 42 символа |
|
||||
|
||||
**Исходный код:** [node_crypto.py](Bot/node_crypto.py)
|
||||
**Исходный код:** [node_crypto.py](../Bot/node_crypto.py)
|
||||
|
||||
### 2.2 Формат адреса
|
||||
|
||||
@ -117,7 +117,7 @@ def am_i_the_master(self) -> bool:
|
||||
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
|
||||
|
||||
@ -134,7 +134,7 @@ def check_node_health(ip: str) -> bool:
|
||||
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 Интервалы проверки
|
||||
|
||||
@ -164,7 +164,7 @@ class AttackDetector:
|
||||
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 Метрики обнаружения атак
|
||||
|
||||
@ -200,7 +200,7 @@ def shuffle_chain_on_attack(self, external_trigger: bool = False):
|
||||
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 # Счётчик высоких значений подряд
|
||||
```
|
||||
|
||||
**Исходный код:** [junomontanaagibot.py:709-754](Bot/junomontanaagibot.py#L709-L754)
|
||||
**Исходный код:** junomontanaagibot.py:709-754
|
||||
|
||||
### 5.2 Health Check с защитой от ложных срабатываний
|
||||
|
||||
@ -249,7 +249,7 @@ def health_check(self) -> Dict[str, Any]:
|
||||
self.degraded_count = 0
|
||||
```
|
||||
|
||||
**Исходный код:** [junomontanaagibot.py:1001-1051](Bot/junomontanaagibot.py#L1001-L1051)
|
||||
**Исходный код:** junomontanaagibot.py:1001-1051
|
||||
|
||||
### 5.3 Пороги AtlantGuard
|
||||
|
||||
@ -269,7 +269,7 @@ MAX_NODE_SYNCS_PER_MINUTE = 10 # Синхронизаций узла/мин
|
||||
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
|
||||
|
||||
@ -322,7 +322,7 @@ is_master_func=lambda: self.is_master
|
||||
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 Ɉ |
|
||||
| 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](Bot/deploy_nodes.sh)
|
||||
**Исходный код:** [deploy_nodes.sh](../Bot/deploy_nodes.sh)
|
||||
|
||||
---
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user