149 lines
5.3 KiB
Python
149 lines
5.3 KiB
Python
#!/usr/bin/env python3
|
||
"""
|
||
Пример создания первого когнитивного ключа (Genesis)
|
||
====================================================
|
||
|
||
Genesis = первый когнитивный ключ участника.
|
||
Это его identity в сети Montana.
|
||
|
||
Запуск:
|
||
python example_genesis.py
|
||
"""
|
||
|
||
from pathlib import Path
|
||
from presence import (
|
||
PresenceStorage,
|
||
generate_cognitive_key,
|
||
format_genesis_message
|
||
)
|
||
|
||
|
||
def main():
|
||
"""Демонстрация создания Genesis."""
|
||
|
||
print("=" * 60)
|
||
print(" MONTANA GENESIS — Первый Когнитивный Ключ")
|
||
print("=" * 60)
|
||
print()
|
||
|
||
# =========================================================
|
||
# ПРИМЕР 1: Создание Genesis для Наблюдателя
|
||
# =========================================================
|
||
|
||
print("📌 ПРИМЕР 1: Genesis Наблюдателя (金元Ɉ)")
|
||
print("-" * 60)
|
||
|
||
observer_key = generate_cognitive_key(
|
||
user_id=8552053404, # Telegram ID
|
||
telegram_username="junomoneta", # @username
|
||
marker="#Благаявесть", # Когнитивный маркер
|
||
first_response="Да. Я здесь. Всегда был и буду."
|
||
)
|
||
|
||
print(f"User ID: {observer_key.user_id}")
|
||
print(f"Username: @{observer_key.telegram_username}")
|
||
print(f"Маркер: {observer_key.marker}")
|
||
print(f"Genesis Hash: {observer_key.genesis_hash}")
|
||
print(f"Public Key: {observer_key.public_key}")
|
||
print(f"Genesis Sig: {observer_key.genesis_signature[:64]}...")
|
||
print(f"Timestamp: {observer_key.genesis_timestamp}")
|
||
print()
|
||
|
||
# =========================================================
|
||
# ПРИМЕР 2: Создание Genesis для нового участника
|
||
# =========================================================
|
||
|
||
print("📌 ПРИМЕР 2: Genesis нового участника")
|
||
print("-" * 60)
|
||
|
||
new_user_key = generate_cognitive_key(
|
||
user_id=123456789,
|
||
telegram_username="new_member",
|
||
marker="#МойПуть",
|
||
first_response="Присутствую в моменте."
|
||
)
|
||
|
||
print(f"User ID: {new_user_key.user_id}")
|
||
print(f"Маркер: {new_user_key.marker}")
|
||
print(f"Genesis Hash: {new_user_key.genesis_hash[:32]}...")
|
||
print(f"Public Key: {new_user_key.public_key[:32]}...")
|
||
print(f"Genesis Sig: {new_user_key.genesis_signature[:32]}...")
|
||
print()
|
||
|
||
# =========================================================
|
||
# ПРИМЕР 3: Сохранение в storage
|
||
# =========================================================
|
||
|
||
print("📌 ПРИМЕР 3: Сохранение в storage")
|
||
print("-" * 60)
|
||
|
||
# Каноническая папка данных бота (внутри montana_bot/)
|
||
data_dir = Path(__file__).resolve().parent / "data"
|
||
storage = PresenceStorage(data_dir)
|
||
|
||
# Создать и сохранить
|
||
if not storage.has_key(111222333):
|
||
saved_key = storage.create_key(
|
||
user_id=111222333,
|
||
telegram_username="test_user",
|
||
marker="#TestGenesis",
|
||
first_response="Тестовый первый ответ."
|
||
)
|
||
print(f"✅ Genesis создан и сохранён!")
|
||
print(f" Маркер: {saved_key.marker}")
|
||
print(f" Hash: {saved_key.genesis_hash[:32]}...")
|
||
else:
|
||
existing_key = storage.get_key(111222333)
|
||
print(f"ℹ️ Genesis уже существует:")
|
||
print(f" Маркер: {existing_key.marker}")
|
||
print(f" Hash: {existing_key.genesis_hash[:32]}...")
|
||
|
||
print()
|
||
|
||
# =========================================================
|
||
# ПРИМЕР 4: Полное сообщение для Telegram
|
||
# =========================================================
|
||
|
||
print("📌 ПРИМЕР 4: Сообщение для Telegram")
|
||
print("-" * 60)
|
||
|
||
message = format_genesis_message(observer_key)
|
||
print(message)
|
||
|
||
# =========================================================
|
||
# ФИЛОСОФИЯ GENESIS
|
||
# =========================================================
|
||
|
||
print("=" * 60)
|
||
print(" ФИЛОСОФИЯ GENESIS")
|
||
print("=" * 60)
|
||
print("""
|
||
Genesis — это первый когнитивный ключ участника.
|
||
|
||
Как Bitcoin Genesis Block:
|
||
• Один человек (Сатоши) создал genesis
|
||
• После — децентрализованная сеть
|
||
|
||
Montana Genesis:
|
||
• Бот создаёт genesis для каждого участника
|
||
• После — твори где хочешь (Twitter, Telegram, GitHub)
|
||
• Верификация — через Montana network
|
||
|
||
Формула:
|
||
identity(user) = genesis(bot) + thoughts_trail(socials) + verification(Montana)
|
||
|
||
Принцип Парето 80/20:
|
||
• 80% Full Nodes (серверы, автоматика)
|
||
• 20% Verified Users (люди, "Ты здесь?")
|
||
|
||
Genesis ≠ ключ криптографический.
|
||
Genesis = ключ когнитивный.
|
||
Genesis = КТО ТЫ, не ЧТО ТЫ ИМЕЕШЬ.
|
||
|
||
#Благаявесть
|
||
""")
|
||
|
||
|
||
if __name__ == "__main__":
|
||
main()
|