What it does
Listen to the Ethereum memory pool!!! EthRhythm is an visualization of what's happening on the Ethereum blockchain through musical notes and colours! When a transaction is received by a blockchain, a coloured box appears on the screen and a musical note is played. Depending on the value of the transaction, the box is coloured blue (low) to red (high) and the pitch of the note changes. When the transactions are confirmed, their corresponding boxes disappear from the page, creating a heatmap representation of the memory pool of the current block! Efficient real-time on-chain data stream is available thanks to dfuse through their websocket service! Mobile app version is available too.
Open Source All codes of this project are published under the MIT license. The sourcecode can be found on github. Please report any bugs or create pull requests for missing features.
How we built it
EthRhythm gets its live data stream from dfuse through their websocket service and uses node built-in
web audio api oscillators to generate the musical notes. We picked a happy C major scale. Four notes make a bar and we adopt a popular chord progression to make it sound more natural and intuitive.
Challenges we ran into
- figuring out which bounty to go after and decide on a project idea (so many interesting tech with good bounties!): maybe we need to design a consensus protocol for hackathons!
- dfuse data stream only provides information on confirmed transaction so we couldn't get info on the pending ones. They pushed an alpha version for us with additional data that we need for the project.
- Direct conversion of transaction value to pitch frequency didn't sound good. Our guitar player had to apply some basic music theory.
What we learned
- wait-time websocket communication
- cross platform builts
- curry after curry after curry can inspire interesting conversations
- got a glimpse of various different cutting edge technology being built in the Ethereum community!
Accomplishments that we're proud of
- hours of thorough and good discussions on tons of different hackathon ideas and eventually reaching a consensus on what to build for this hackathon
- tried different ways to visualize and represent the blockchain data and eventually resulted in the dynamic heatmap representation of Ethereum memory pool!
- pretty clean code base with good coding practice and architecture despite under the hackathon environment
What's next for EthRhythm
We have lots of other creative ideas we would love to build! Besides visualizing the memory pool, there's a lot of other neat ways to visualize and summarize the on-chain data. EthRhythm can be a nice landing page to Etherscan and provide a dashboard for the Ethereum blockchain in a visually comprehensive way! Extracting out the general framework, it's a neat tool if other blockchains can be integrated and visualized together!
- Whale radar: pick up the huuuuge transactions as they (are about to) happen and make the whale sound~~~ (Different blockchains can be different kinds of fish or whales.... we can see and hear what the sound of crypto ocean is like)!
- Visualize other details of transactions on the blockchain e.g. fee, different types of tokens and create informative summary plot.
- Integrate other blockchains!!!!!