{"id":29595377,"url":"https://github.com/shayanb/ethertrip","last_synced_at":"2025-07-20T08:08:33.517Z","repository":{"id":296444175,"uuid":"993412573","full_name":"shayanb/EtherTrip","owner":"shayanb","description":"Ethereum Blockchain Visualizer (Psychedelic Edition) ","archived":false,"fork":false,"pushed_at":"2025-06-27T17:50:06.000Z","size":983,"stargazers_count":3,"open_issues_count":9,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-15T06:07:03.907Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://ethertrip.me/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shayanb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-30T18:41:41.000Z","updated_at":"2025-06-27T17:50:09.000Z","dependencies_parsed_at":"2025-05-31T03:26:32.015Z","dependency_job_id":"b4205908-76d9-4dab-b843-1e39f66b5ffd","html_url":"https://github.com/shayanb/EtherTrip","commit_stats":null,"previous_names":["shayanb/ethertrip"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/shayanb/EtherTrip","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shayanb%2FEtherTrip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shayanb%2FEtherTrip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shayanb%2FEtherTrip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shayanb%2FEtherTrip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shayanb","download_url":"https://codeload.github.com/shayanb/EtherTrip/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shayanb%2FEtherTrip/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266087790,"owners_count":23874519,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-20T08:08:33.049Z","updated_at":"2025-07-20T08:08:33.506Z","avatar_url":"https://github.com/shayanb.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EtherTrip - Psychedelic Ethereum Visualizer 🌈🎵\n\nTake a psychedelic journey through the Ethereum blockchain with real-time 3D visualization and immersive audio synthesis.\n\n## Features\n\n- **Pure Graph Visualization**: Spheres (EOA addresses) and pyramids (smart contracts) connected by animated transaction edges\n- **Real-time Blockchain Streaming**: Live transaction and block data via WebSocket RPC connections\n- **Smart Contract Distinction**: Randomized colorful pyramid shapes for visual contract identification  \n- **Persistent Graph Edges**: Transaction connections remain visible for full block duration (12+ seconds)\n- **Distance-Adaptive Scaling**: Objects remain visible when zooming out to large distances\n- **Interactive 3D Navigation**: Full camera controls with orbit, zoom, and pan\n- **Multiple RPC Providers**: Support for Infura, Alchemy, Tenderly, and free public nodes\n- **Advanced Audio Engine**: 6 sound styles (Retro Synth, Piano, Acid Techno, Jazz, Electronic, Minimal)\n- **Value-Based Audio**: Transaction sounds reflect ETH amounts and gas prices\n- **ERC20 Token Support**: Visualizes token transfers with distinct audio and visual cues\n- **Responsive UI**: Clean controls panel with floating buttons and connection status\n\n## Setup\n\n1. **Clone or download this project**\n\n2. **Get an Ethereum RPC endpoint**:\n   - you can use the publicly available ones but they will be rate limited or might be down. \n   - Sign up for a free account at [Infura](https://infura.io) or [Alchemy](https://www.alchemy.com)\n   - Create a new project and get your WebSocket endpoint URL\n   - It should look like: `wss://mainnet.infura.io/ws/v3/YOUR_PROJECT_ID`\n\n3. **Run the visualizer**:\n   - Option 1: Use a local web server (recommended)\n     ```bash\n     # Using Python 3\n     python -m http.server 8000\n     \n     # Using Node.js (install http-server globally first)\n     npm install -g http-server\n     http-server\n     ```\n   - Option 2: Open `index.html` directly in a modern web browser (some features may be limited)\n\n4. **Connect to Ethereum**:\n   - Enter your WebSocket RPC URL in the connection field\n   - Click \"Connect to Ethereum\"\n   - Click anywhere on the screen to enable audio\n\n## Visual Elements\n\n- **Address Nodes**: \n  - **EOA Addresses**: Spherical nodes in various colors that scale with activity\n  - **Smart Contracts**: Pyramid shapes with randomized colors for visual distinction\n- **Transaction Edges**: Curved 3D lines connecting sender and receiver nodes\n  - **ETH Transfers**: Cyan colored curves with dynamic arc heights\n  - **ERC20 Transfers**: Green colored curves with token-specific styling\n  - **Persistent Duration**: Edges remain visible for 12+ seconds (full block time)\n- **Distance-Adaptive Scaling**: All objects scale up when camera zooms out for better visibility\n- **Particles**: Dynamic background particle field\n- **Gas Price Effects**: Background color intensity responds to current gas prices\n- **Interactive Labels**: Hover tooltips show transaction details and address information\n\n## Audio System\n\n- **6 Sound Styles**: \n  - **Retro Synth** (default): Classic synthesizer sounds\n  - **Piano**: Harmonic piano tones with natural decay\n  - **Acid Techno**: 303-style bass with resonant filter sweeps\n  - **Jazz**: Warm chords with reverb and complex harmonies\n  - **Electronic**: Modulated synthesizers with delay effects\n  - **Minimal**: Simple sine wave tones for subtle ambience\n- **Dynamic Audio**: Transaction sounds vary by value, gas price, and type\n- **ETH Transactions**: Rich tones reflecting transaction amounts\n- **ERC20 Transfers**: Distinctive token transfer audio signatures\n- **Smart Contract Calls**: Unique modulated tones for contract interactions\n- **Audio Controls**: Floating mute/unmute and pause/play buttons\n- **Customizable Effects**: Adjustable reverb, delay, filter, and volume controls\n\n## Controls\n\n### Connection Settings\n- **RPC Endpoint**: Choose from Infura, Alchemy, Tenderly, or free public nodes\n- **API Key Support**: Built-in API key management for premium providers\n- **Connection Status**: Real-time connection monitoring\n\n### Visual Settings\n- **Color Intensity**: Adjusts the vibrancy of colors\n- **Particle Density**: Number of background particles\n- **Rotation Speed**: Speed of object rotations\n- **Wave Amplitude**: Intensity of wave effects\n- **Item Lifespan**: How long visual elements persist (2-30 seconds)\n- **Blockchain Focus**: Balance between effects and data visualization\n- **Show Address Graph**: Toggle the transaction graph visualization\n\n### Audio Settings\n- **Sound Style**: Choose from 6 different audio engines\n- **Master Volume**: Overall sound level\n- **Transaction Pitch**: Base frequency for transaction sounds\n- **Block Bass Frequency**: Low frequency for block sounds\n- **Reverb Amount**: Spatial echo effect\n- **Filter Cutoff \u0026 Resonance**: Real-time audio filtering\n- **Delay Time \u0026 Feedback**: Echo and repeat effects\n\n## Browser Requirements\n\n- Modern browser with WebGL support (Chrome, Firefox, Safari, Edge)\n- Web Audio API support\n- WebSocket support\n\n## Performance Tips\n\n- Lower particle density if experiencing lag\n- Reduce item lifespan for better performance with high transaction volumes\n- Use free public nodes if you don't have an API key\n- Close other browser tabs for optimal performance\n\n\n## Known Issues \u0026 Limitations\n\n- **Performance Degradation**: With high transaction volumes, performance may decrease over time due to accumulating visual elements\n- **Memory Usage**: Extended sessions may consume increasing amounts of memory as the graph grows\n- **Mobile Compatibility**: Touch controls and mobile browsers may have limited functionality\n- **Network Sensitivity**: Unstable internet connections can cause visualization interruptions\n- **RPC Rate Limits**: Some free RPC providers have rate limits that may affect real-time streaming\n- **Audio Context**: Some browsers require user interaction before audio can play (click anywhere to enable)\n- **Large Distance Scaling**: At extreme zoom levels, objects may become too large and overlap\n- **Connection Recovery**: Manual reconnection may be required if WebSocket connection drops\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshayanb%2Fethertrip","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshayanb%2Fethertrip","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshayanb%2Fethertrip/lists"}