4.1 KiB
4.1 KiB
API Errors Fix
Issues Fixed
1. createSkeletonLoader is not defined Error
Status: ✅ Fixed
- The function is properly defined at line 945 in
index.html - Function handles 'stats', 'table', and 'detail' skeleton loader types
- If error persists, it may be a browser caching issue - try hard refresh (Ctrl+Shift+R)
2. API "Unknown action" Errors
Status: ✅ Fixed
- Root Cause:
loadAllBlocks()andloadAllTransactions()were using Etherscan-compatible API format (/api?module=block&action=eth_get_block_by_number) which Blockscout doesn't support - Fix: Updated both functions to check
CHAIN_ID === 138and use Blockscout API endpoints:loadAllBlocks(): Now uses${BLOCKSCOUT_API}/v2/blocks?page=1&page_size=50loadAllTransactions(): Now uses${BLOCKSCOUT_API}/v2/transactions?page=1&page_size=50
- Other Networks: For non-138 chains, functions still use Etherscan-compatible API format
Changes Made
loadAllBlocks() Function
- Added ChainID 138 check
- Uses Blockscout API:
/api/v2/blocks?page=1&page_size=50 - Normalizes blocks using
normalizeBlock()adapter - Improved error handling with retry button
loadAllTransactions() Function
- Added ChainID 138 check
- Uses Blockscout API:
/api/v2/transactions?page=1&page_size=50 - Normalizes transactions using
normalizeTransaction()adapter - Fixed duplicate/old code that was causing issues
- Improved error handling with retry button
Deployment
Status: ✅ DEPLOYED (2025-12-24)
The fixed frontend has been successfully deployed to VMID 5000.
Deployment Method Used
cd /home/intlc/projects/proxmox
bash explorer-monorepo/scripts/deploy-frontend-fix.sh
Result:
- ✅ File copied successfully (139KB)
- ✅ Permissions set correctly
- ✅ Nginx configuration tested and restarted
- ✅ Frontend available at https://explorer.d-bis.org/
Alternative Deployment Methods
Option 1: Using Deployment Script (from Proxmox host)
cd /home/intlc/projects/proxmox/explorer-monorepo
bash scripts/deploy-frontend-to-vmid5000.sh
Option 2: Manual Deployment (from VMID 5000)
# On VMID 5000, copy the file:
cp /path/to/explorer-monorepo/frontend/public/index.html /var/www/html/index.html
chown www-data:www-data /var/www/html/index.html
# Restart nginx
nginx -t && systemctl restart nginx
Option 3: Using SCP (from local machine)
scp explorer-monorepo/frontend/public/index.html root@192.168.11.140:/var/www/html/index.html
ssh root@192.168.11.140 "chown www-data:www-data /var/www/html/index.html && nginx -t && systemctl restart nginx"
Verification
Deployment Date: 2025-12-24
Status: ✅ Deployed and ready for testing
Verification Steps
- Open browser console (F12)
- Navigate to Blocks page - should load without "Unknown action" errors
- Navigate to Transactions page - should load without "Unknown action" errors
- Check for skeleton loaders - should appear during loading, not throw "not defined" errors
Expected Behavior
- ✅ Blocks page loads 50 blocks from Blockscout API
- ✅ Transactions page loads 50 transactions from Blockscout API
- ✅ Skeleton loaders appear during loading
- ✅ No "Unknown action" errors in console
- ✅ No "createSkeletonLoader is not defined" errors
Test URLs
- Home: https://explorer.d-bis.org/
- Blocks: https://explorer.d-bis.org/ (click "Blocks" in navigation)
- Transactions: https://explorer.d-bis.org/ (click "Transactions" in navigation)
Testing
Test the following scenarios:
- Home Page: Should load stats, latest blocks, and latest transactions
- Blocks Page: Should show 50 blocks without errors
- Transactions Page: Should show 50 transactions without errors
- Block Detail: Click on a block number - should show block details
- Transaction Detail: Click on a transaction hash - should show transaction details
Notes
- The fixes maintain backward compatibility with other networks (non-138 chains)
- For ChainID 138, all API calls now use Blockscout REST API format
- Error handling includes retry buttons for better UX
- Skeleton loaders provide visual feedback during data loading