Summary
Add a new Cyphernode endpoint elements_getunblindedurl that returns a fully constructed Liquid explorer URL with unblinded transaction data.
Background
When viewing Liquid transactions in block explorers, confidential transaction details (amounts, assets) are hidden unless the viewer has the blinding factors. The explorer URL can include a #blinded= fragment with the unblinding data to allow viewing the full transaction details.
Requirements
New Endpoint: elements_getunblindedurl
Input:
txid - The Liquid transaction ID
baseUrl (optional) - The explorer base URL (default: configured value)
Output:
{
"url": "https://liquid.bullbitcoin.com/tx/{txid}#blinded={amount},{asset},{amountblinder},{assetblinder},...",
"txid": "{txid}"
}
Implementation Details
- Call
gettransaction RPC to get transaction details with blinding data
- Extract
amountblinder, assetblinder, asset, and amount from each relevant output
- Construct the URL with
#blinded= fragment containing comma-separated output data
- Return the full URL
URL Format
{baseUrl}/tx/{txid}#blinded={amount},{asset},{value_blinder},{asset_blinder}[,{amount2},{asset2},{value_blinder2},{asset_blinder2},...]
Related Issues
- SatoshiPortal/LiquidNode#144 - Parent issue
- Will be consumed by LiquidNode, API-Orders, BB-Admin, BB-Exchange
Files to Modify
proxy_docker/app/script/elements_walletoperations.sh - Add function
proxy_docker/app/script/requesthandler.sh - Add endpoint handler
cyphernodeconf_docker/templates/gatekeeper/api.properties - Add permission
Summary
Add a new Cyphernode endpoint
elements_getunblindedurlthat returns a fully constructed Liquid explorer URL with unblinded transaction data.Background
When viewing Liquid transactions in block explorers, confidential transaction details (amounts, assets) are hidden unless the viewer has the blinding factors. The explorer URL can include a
#blinded=fragment with the unblinding data to allow viewing the full transaction details.Requirements
New Endpoint:
elements_getunblindedurlInput:
txid- The Liquid transaction IDbaseUrl(optional) - The explorer base URL (default: configured value)Output:
{ "url": "https://liquid.bullbitcoin.com/tx/{txid}#blinded={amount},{asset},{amountblinder},{assetblinder},...", "txid": "{txid}" }Implementation Details
gettransactionRPC to get transaction details with blinding dataamountblinder,assetblinder,asset, andamountfrom each relevant output#blinded=fragment containing comma-separated output dataURL Format
Related Issues
Files to Modify
proxy_docker/app/script/elements_walletoperations.sh- Add functionproxy_docker/app/script/requesthandler.sh- Add endpoint handlercyphernodeconf_docker/templates/gatekeeper/api.properties- Add permission