211 lines
8.2 KiB
Python
211 lines
8.2 KiB
Python
|
|
#!/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)
|