Skip to content

[GUI][DB] Allow Custom Explorers#20

Open
Liquid369 wants to merge 4 commits into
PIVX-Project:masterfrom
Liquid369:2024_explorer_customization
Open

[GUI][DB] Allow Custom Explorers#20
Liquid369 wants to merge 4 commits into
PIVX-Project:masterfrom
Liquid369:2024_explorer_customization

Conversation

@Liquid369

Copy link
Copy Markdown
Member

This pull requests adds to the GUI a dropdown menu for explorer selection and allows for custom URL's.

We have updated the two hardcoded ones with https://explorer.duddino.com and https://testnet.duddino.com starters and it should retry zkbitcoin if the main one fails.

I have set this up so that we can save these in the DB like the RPC Servers so a user can therefore not rely on single sources for their PET4L or Ledger.

Update Screenshot:
image

Rockdev instances are done for now.

@Liquid369 Liquid369 requested a review from Fuzzbawls July 8, 2024 23:43
@Liquid369 Liquid369 force-pushed the 2024_explorer_customization branch 4 times, most recently from 9b2d787 to 158474c Compare July 23, 2024 20:03
@Fuzzbawls Fuzzbawls added this to the 0.2.0 milestone Jul 24, 2024
@Fuzzbawls Fuzzbawls added the enhancement New feature or request label Jul 24, 2024
Introduce an EXPLORER_SERVERS table with add/edit/remove/get helpers and
seed the default explorers: explorer.duddino.com, testnet.duddino.com and
zkbitcoin.com as a mainnet fallback. Defaults are seeded by URL so an upgrade
never collides with the ids of explorers a user added previously, and NULL
network metadata left behind by an older schema is backfilled.

Remember the selected explorer per network (keyed by URL) in the settings
cache so switching networks never remaps to an unrelated server.
BlockBookClient now resolves its URL from the active explorer selection.
When the primary explorer fails, the request is retried against the other
explorers configured for the active network (e.g. zkbitcoin) before the
error propagates. ApiClient exposes updateExplorerUrl() to switch the active
explorer at runtime.
Add an Explorer dropdown to the header, filtered to the active network, and
an 'Explorer Servers config...' dialog to add, edit and remove custom
explorers, mirroring the RPC servers UI. The selection is remembered per
network and applied to the API client, and the dropdown refreshes when the
RPC network changes.
Cover the explorer fallback retry, per-network selection persistence,
network filtering of the dropdown, and the database seeding and upgrade
migration. Ignore __pycache__ directories anywhere in the tree.
@Liquid369 Liquid369 force-pushed the 2024_explorer_customization branch from e6f2e30 to b8a7b54 Compare June 16, 2026 00:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants