distribusi hardened vs node mati + send ⊖ pernah menyesatkan (V58/V59)
V58 failover node pool: config += API_NODES (CSV VEX_API_NODES, default v2.vexascan.com:2096 + https://api.databisnis.id, mainnet terverifikasi) ; distribute _post_json coba SEMUA node per putaran (semua mati → RuntimeError), build_signed_transfer coba tiap node utk link+sign (net ter-bind → send ikut node sama), fetch_balance_with_retry backoff [30..180]s ~10 mnt real-run / dry-run satu attempt ; scan/claim tetap API_NODE tunggal, fee klaim mewarisi failover gratis ; oracle failover saldo + semua-mati raise + backoff + mock Net V59 send aman per pemilih (B19): (1) verify_txid → None (Hyperion down) = TAHAN sungguhan — break + failed di attempt 1, ⊖ resend dgn tapos/expiration baru → txid baru → double-send (kode lama cuma print ditahan lalu fallthrough ke retry, oracle lolos karena set MAX_ATTEMPTS=1) ; (2) _send_rejected(resp) deteksi body HTTP-500 pyntelope ⊖ raise (pola V46/B11, duplicate/ insufficient-balance) → raise → jalur verify/retry, ⊖ pernah sent utk tx yang ⊥ mendarat ; oracle hold-attempt-1 (3 attempt default, build sekali per pemilih) + rejection-500 → failed ; docs §V58/V59 + §B/B19 + T51/T52 + AGENTS image dist + claim rebuild + push (claim impor distribute)
This commit is contained in:
1 parent
8e80653df9
commit
fb16eeafaa
6 files changed
+285
-47
No files matched your search
@@ -7,6 +7,11 @@ VEX_TARGET_BP=databisnisid
|
||||
# Node RPC publik Vexanium (ganti bila node utama lambat/timeout)
|
||||
VEX_API_NODE=https://v2.vexascan.com:2096
|
||||
|
||||
# Node pool RPC utk failover distribusi (V58): CSV, urutan prioritas. Default =
|
||||
# `VEX_API_NODE` + https://api.databisnis.id (node mainnet terverifikasi).
|
||||
# Distribusi coba node berikutnya bila node sebelumnya gagal.
|
||||
# VEX_API_NODES=https://v2.vexascan.com:2096,https://api.databisnis.id
|
||||
|
||||
# Lokasi file SQLite (disarankan absolut bila dijadwalkan via cron)
|
||||
VEX_DB_PATH=voters.db
|
||||
|
||||
|
||||
Reference in new issue
Block a user