get_voters.py kini menyimpan hanya pemilih segar (last_vote tak diketahui atau > VEX_STALE_DAYS dibuang di normalize, V13). Web menampilkan kolom RANK/AKUN/STAKE/VOTE TERAKHIR, tanpa BOBOT SUARA, stat VOTE BASI, penanda/ filter ?stale=1 (V15). voters.db dipangkas 336 → 42. Oracle diperbarui dan lolos.
37 lines
1.1 KiB
Python
37 lines
1.1 KiB
Python
"""Konfigurasi proyek dari env / `.env`.
|
|
|
|
Bacaan tipe via `os.getenv`; nilai default = konstanta lama. Muat `.env` sekali
|
|
di sini supaya semua modul (get_voters, dashboard) berbagi sumber yang sama.
|
|
"""
|
|
|
|
import os
|
|
|
|
from dotenv import load_dotenv
|
|
|
|
load_dotenv()
|
|
|
|
# BP target
|
|
TARGET_BP = os.getenv('VEX_TARGET_BP', 'databisnisid')
|
|
|
|
# Node RPC publik Vexanium
|
|
API_NODE = os.getenv('VEX_API_NODE', 'https://v2.vexascan.com:2096')
|
|
|
|
# Lokasi basis data SQLite (dipakai fetcher & dashboard)
|
|
DB_PATH = os.getenv('VEX_DB_PATH', 'voters.db')
|
|
|
|
# Syarat minimum stake (dalam VEX) untuk disimpan
|
|
MIN_STAKED_VEX = float(os.getenv('VEX_MIN_STAKED_VEX', '1000'))
|
|
|
|
# Dashboard: ukuran halaman list
|
|
PAGE_SIZE = int(os.getenv('DASH_PAGE_SIZE', '50'))
|
|
|
|
# Dashboard: host & port server Flask
|
|
DASH_HOST = os.getenv('DASH_HOST', '127.0.0.1')
|
|
DASH_PORT = int(os.getenv('DASH_PORT', '5000'))
|
|
|
|
# Dashboard: jumlah worker gunicorn (produksi)
|
|
DASH_WORKERS = int(os.getenv('DASH_WORKERS', '2'))
|
|
|
|
# Ambang batas vote "basi" (hari tanpa revote) — pemilih lewat batas ini dibuang di scan
|
|
VEX_STALE_DAYS = int(os.getenv('VEX_STALE_DAYS', '28'))
|