Inspiration

The inspiration behind WaveWallet stemmed from the desire to localize the security of Ethereum transactions by incorporating a local wallet to wallet radio frequency (RF) handshake. What makes this project particularly inspiring is the fact that none of our team members had prior experience working with blockchain technology. Drawing inspiration from the world of radio frequency communication and the need for secure transactions, our team aimed to explore the integration of Arduino devices with a Next.js application to create a novel and secure approval process for Ethereum transactions.

What it does

WaveWallet is a project that showcases the integration of Arduino RF handshake technology with a Next.js application to secure Ethereum transactions. The system employs two Arduino devices engaging in an RF handshake, utilizing frequency hopping for increased security. Users initiate transactions through the Next.js frontend, and before the transaction is sent via Metamask, it undergoes an approval process facilitated by the Arduino devices. The RF handshake ensures a secure communication channel and aims to prevent unauthorized interception of transaction details.

How we built it

Our team of three collaborated during the 24-hour hackathon, GrizzHacks, to bring WaveWallet to life. The project was developed using Next.js for the frontend, with a backend API route responsible for communication with the Arduino devices. The Arduino devices run a script that manages the RF handshake process. The handshake originally included frequency hopping to enhance security.

Challenges we ran into

During the development process, we encountered a substantial amount of challenges, one of which was related to the functionality of the frequency hopping feature. While we initially achieved success in testing, the feature stopped working as expected. Debugging and resolving this issue within the tight timeframe of the hackathon presented a significant challenge for our team. Connecting the Next.js frontend with Python and C++ backend functions was also a challenge, as our app had to communicate through serial ports with the Arduino's.

Accomplishments that we're proud of

Despite the challenges, we are proud to demonstrate the integration of Arduino RF handshake technology with a Next.js application for Ethereum transactions. Achieving functional communication between the Arduino devices, implementing frequency hopping for added security (for a short period of testing), and developing a streamlined user interface are accomplishments we celebrate. This was our teams first time working with Next.js, and we are proud of what we have done with the UI here.

What we learned

WaveWallet provided our team with valuable insights into the complexities of integrating hardware with web applications. Not only was part our team new to working with hardware, we were also all new to working with the Next.js framework. We gained plenty of hands-on experience in developing a secure and novel transaction approval process, and got exposure to working on a large coding project with a team, where we had to figure out how to manage workloads, push and pull code, share ideas, etc.

What's next for WaveWallet

Looking ahead, the next steps for WaveWallet involve refining the frequency hopping feature to ensure consistent and secure communication between Arduino devices. We also plan to continue expanding the features and functionalities of the app. The project serves as a foundation for future developments in secure local transaction authentication, potentially extending beyond Ethereum to other blockchain networks. WaveWallet has the potential to contribute to the evolution of secure and user-friendly blockchain transactions on local networks.

Share this project:

Updates