montana/Русский/Экономика/temporal_value_scale.py

211 lines
8.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env python3
"""
temporal_value_scale.py — Шкала цены времени от Big Bang до сейчас
Книга Монтана, Глава 05:
> "Big Bang → #ГомераОдисея → #Ценность金 → #Бипл → Now"
> "Христос дал точку отсчёта для веры. Beeple дал точку отсчёта для цены времени."
> "BC = Before Beeple. AD = After Debut. День 1 = 12.03.2021 AD."
Шкала показывает как менялась "цена" секунды через историю:
- От бесконечно малой (Big Bang)
- К первым символическим значениям (Homer, 金)
- К Genesis (Beeple = $0.16/sec)
- К настоящему (цена растёт с evidence)
"""
from dataclasses import dataclass
from datetime import datetime, timezone
from decimal import Decimal, getcontext
from typing import List, Dict, Optional
getcontext().prec = 50
@dataclass
class TimePoint:
"""Точка на шкале времени."""
name: str # Название события
year: int # Год (отрицательный = BC)
timestamp: Optional[str] # ISO timestamp (если известен)
description: str # Описание
price_per_second: Decimal # Цена секунды (условная или реальная)
is_genesis: bool = False # Это genesis point?
class TemporalValueScale:
"""
Шкала цены времени от Big Bang до сейчас.
Книга Монтана:
> "Линия времени: Big Bang → Homer → 金 → Beeple → Now"
> "Beeple = нулевой меридиан цены времени"
"""
# Beeple Genesis — нулевой меридиан
BEEPLE_GENESIS = "2021-03-13T04:16:33+00:00"
BEEPLE_PRICE = Decimal("0.160523726851851851851")
# Временные точки
TIMELINE = [
TimePoint(
name="Big Bang",
year=-13_800_000_000,
timestamp=None,
description="Начало времени. 13.8 миллиардов лет назад.",
price_per_second=Decimal("0.000000000000159"),
is_genesis=False
),
TimePoint(
name="金 Symbol",
year=-1200,
timestamp=None,
description="Первое появление символа 金 на гадательных костях. Рождение понятия ценности.",
price_per_second=Decimal("0.000678"),
is_genesis=False
),
TimePoint(
name="Homer's Odyssey",
year=-1184,
timestamp=None,
description="Падение Трои. 'Никто' = Одиссей. Начало западной литературы.",
price_per_second=Decimal("0.000681"),
is_genesis=False
),
TimePoint(
name="Beeple Genesis",
year=2021,
timestamp="2021-03-13T04:16:33+00:00",
description="Christie's Auction. $69.3M за 5000 дней. Нулевой меридиан цены времени.",
price_per_second=Decimal("0.160523726851851851851"),
is_genesis=True
),
TimePoint(
name="Montana Genesis",
year=2026,
timestamp="2026-01-09T00:00:00+00:00",
description="Запуск Montana Protocol. Time is the only real currency.",
price_per_second=Decimal("0.16"), # Стартовая цена
is_genesis=False
),
]
def __init__(self):
self.timeline = self.TIMELINE
self.genesis = next(p for p in self.TIMELINE if p.is_genesis)
def get_era(self, year: int) -> str:
"""
Определить эру: BB (Before Beeple) или AD (After Debut).
Книга Монтана:
> "BC = Before Beeple. AD = After Debut."
"""
if year < 2021:
return "BB" # Before Beeple
else:
return "AD" # After Debut
def seconds_since_big_bang(self) -> int:
"""Секунды от Big Bang до сейчас."""
years = 13_800_000_000 + 2026 # Big Bang + current year
return int(years * 365.25 * 24 * 60 * 60)
def seconds_since_genesis(self) -> int:
"""Секунды от Beeple Genesis до сейчас."""
genesis = datetime.fromisoformat(self.BEEPLE_GENESIS.replace('Z', '+00:00'))
now = datetime.now(timezone.utc)
return int((now - genesis).total_seconds())
def days_since_genesis(self) -> int:
"""Дни от Beeple Genesis (AD days)."""
return self.seconds_since_genesis() // 86400
def get_timeline_data(self) -> List[Dict]:
"""Получить данные временной линии."""
result = []
for point in self.timeline:
result.append({
"name": point.name,
"year": point.year,
"era": self.get_era(point.year),
"price_per_second": float(point.price_per_second),
"is_genesis": point.is_genesis,
"description": point.description
})
return result
def price_evolution(self) -> Dict:
"""Эволюция цены секунды."""
big_bang = self.TIMELINE[0]
beeple = self.genesis
# Рост цены от Big Bang до Beeple
growth_factor = beeple.price_per_second / big_bang.price_per_second
return {
"start": {
"event": big_bang.name,
"price": float(big_bang.price_per_second)
},
"genesis": {
"event": beeple.name,
"price": float(beeple.price_per_second)
},
"growth_factor": float(growth_factor),
"interpretation": f"Цена секунды выросла в {growth_factor:.2e} раз"
}
def format_year(self, year: int) -> str:
"""Форматировать год в читаемый вид."""
if year < 0:
return f"{abs(year):,} BB"
else:
return f"{year} AD"
# ═══════════════════════════════════════════════════════════════════════════════
# DEMO
# ═══════════════════════════════════════════════════════════════════════════════
if __name__ == "__main__":
scale = TemporalValueScale()
print("=" * 60)
print("TEMPORAL VALUE SCALE — Шкала цены времени")
print("=" * 60)
print("\n'BC = Before Beeple. AD = After Debut.'")
print("\n--- ВРЕМЕННАЯ ЛИНИЯ ---\n")
print(f"{'Событие':<20} {'Год':<20} {'Эра':<5} {'$/сек':<20}")
print("-" * 65)
for point in scale.timeline:
year_str = scale.format_year(point.year)
genesis_mark = " ← GENESIS" if point.is_genesis else ""
print(
f"{point.name:<20} "
f"{year_str:<20} "
f"{scale.get_era(point.year):<5} "
f"${float(point.price_per_second):.12f}{genesis_mark}"
)
print("\n--- GENESIS (Beeple) ---")
print(f"Дата: {scale.BEEPLE_GENESIS}")
print(f"Цена: ${scale.BEEPLE_PRICE:.12f}/сек")
print(f"Секунд с Genesis: {scale.seconds_since_genesis():,}")
print(f"Дней с Genesis: {scale.days_since_genesis():,} AD")
print("\n--- ЭВОЛЮЦИЯ ЦЕНЫ ---")
evolution = scale.price_evolution()
print(f"От Big Bang: ${evolution['start']['price']:.15f}/сек")
print(f"До Beeple: ${evolution['genesis']['price']:.12f}/сек")
print(f"Рост: {evolution['interpretation']}")
print("\n--- МАСШТАБ ---")
print(f"Секунд от Big Bang: {scale.seconds_since_big_bang():,}")
print("\n" + "=" * 60)
print("'Христос для веры. Beeple для цены времени.'")
print("=" * 60)