Problem
Several Blue Railroad tokens have incorrect or inconsistent on-chain metadata that needs correction. Additionally, since this metadata is on-chain, we need an upgrade mechanism to apply fixes.
Data Issues
| Token |
Current songId |
Correct songId |
Date Format |
Video URI |
Notes |
| 0 |
7 ✓ |
7 (Squats) |
YYYYMMDD ✓ |
Discord |
Legacy |
| 1 |
7 ✓ |
7 (Squats) |
Unix timestamp |
Discord |
Legacy |
| 2 |
7 ✓ |
7 (Squats) |
Unix timestamp |
Discord |
Legacy |
| 3 |
5 ✗ |
7 (Squats) |
YYYYMMDD ✓ |
IPFS ✓ |
Wrong songId |
| 4 |
5 ✗ |
7 (Squats) |
YYYYMMDD ✓ |
IPFS ✓ |
Wrong songId |
Song ID Mapping (Manzanita Track Numbers)
Song IDs correspond to track numbers on Tony Rice's Manzanita album (1979):
| Track # |
Song |
Exercise |
| 5 |
Nine Pound Hammer |
Pushups |
| 7 |
Blue Railroad Train |
Squats |
| 8 |
Ginseng Sullivan |
Army Crawls |
Impact
- PickiPedia queries by songId return wrong results
- Token 3 & 4 display as "Pushups" when they're actually "Squats" workouts
- Date format inconsistency affects sorting (fixed in import script, but upstream data still inconsistent)
Proposed Solutions
Option A: Metadata Resolver Contract
Deploy a resolver contract that the main NFT contract's tokenURI() can point to, which:
- Stores corrections/overrides for individual tokens
- Returns proper ERC721 JSON metadata
- Can be updated by admin without redeploying main contract
Option B: Token Migration
- Deploy new contract with correct metadata
- Allow holders to burn old tokens and mint corrected ones
- More disruptive but cleaner
Option C: Proxy Upgrade
- If contract is upgradeable, deploy new implementation with correction logic
- Check if current contract has upgrade capability
Questions
- Is the current Blue Railroad contract upgradeable?
- What's the preferred path for ongoing metadata flexibility?
- Should corrections be applied on-chain or only in the chain data generator?
Related Issues
Discovery Source
Found during PickiPedia integration - tokens showing wrong exercise type on wiki pages.
Labels
bug, nft, blue-railroad
Problem
Several Blue Railroad tokens have incorrect or inconsistent on-chain metadata that needs correction. Additionally, since this metadata is on-chain, we need an upgrade mechanism to apply fixes.
Data Issues
Song ID Mapping (Manzanita Track Numbers)
Song IDs correspond to track numbers on Tony Rice's Manzanita album (1979):
Impact
Proposed Solutions
Option A: Metadata Resolver Contract
Deploy a resolver contract that the main NFT contract's
tokenURI()can point to, which:Option B: Token Migration
Option C: Proxy Upgrade
Questions
Related Issues
Discovery Source
Found during PickiPedia integration - tokens showing wrong exercise type on wiki pages.
Labels
bug,nft,blue-railroad