Problem
Addresses, transaction hashes, and block numbers rendered across the dashboard are inert text — users can only copy them via CopyableAddress. There's no way to jump to the relevant blockchain explorer (blockchain.com for BTC, taostats.io for TAO) without manually assembling the URL.
The existing CopyableAddress also conflates two intents on a single click: "copy" and "open" can't both live there cleanly.
Proposed change
Split CopyableAddress into two adjacent affordances:
- The address/hash/block label becomes a link to the correct explorer when
chain + type props identify it.
- A dedicated copy button (ContentCopyIcon → CheckIcon on success) handles clipboard separately.
Add a getExplorerUrl(chain, type, value) helper that routes:
| chain |
type |
target |
| BTC |
address |
blockchain.com/btc/address/<value> |
| BTC |
tx |
blockchain.com/btc/tx/<value> |
| TAO |
address |
taostats.io/account/<value> |
| TAO |
block |
taostats.io/block/<value> |
SS58 48-char hotkeys are auto-detected as TAO addresses when the caller doesn't specify.
Out of scope
- Explorer choice configuration (hardcoded blockchain.com / taostats.io).
- EVM or other chain support.
- In-app mini-explorer / modal preview.
Problem
Addresses, transaction hashes, and block numbers rendered across the dashboard are inert text — users can only copy them via
CopyableAddress. There's no way to jump to the relevant blockchain explorer (blockchain.com for BTC, taostats.io for TAO) without manually assembling the URL.The existing
CopyableAddressalso conflates two intents on a single click: "copy" and "open" can't both live there cleanly.Proposed change
Split
CopyableAddressinto two adjacent affordances:chain+typeprops identify it.Add a
getExplorerUrl(chain, type, value)helper that routes:blockchain.com/btc/address/<value>blockchain.com/btc/tx/<value>taostats.io/account/<value>taostats.io/block/<value>SS58 48-char hotkeys are auto-detected as TAO addresses when the caller doesn't specify.
Out of scope