Files
databisnisid/config.py
T
proitlab f0fc4715a1 T16: saldo liquid akun BP di dashboard (API databisnis + cache TTL)
Sel stat SALDO LIQUID menampilkan account.core_liquid_balance dari
GET {DATABISNIS_API}/v2/state/get_account. Cache in-memory per worker
selama DASH_LIQUID_TTL (60s); gagal fetch → nilai lama (atau '—' bila
belum pernah sukses) + cooldown supaya API tak dipukul berulang. Stats
grid 4 kolom desktop, 2x2 tablet. Oracle + smoke lolos.
2026-08-05 10:41:44 +07:00

43 lines
1.4 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'))
# API databisnis untuk saldo liquid akun (balance BP, disajikan dashboard)
DATABISNIS_API = os.getenv('DATABISNIS_API', 'https://api.databisnis.id')
# Dashboard: TTL cache (detik) untuk saldo liquid — gagal fetch juga di-cooldown
DASH_LIQUID_TTL = int(os.getenv('DASH_LIQUID_TTL', '60'))