Jon Walz
Published on

A little Rusty

I was writing earlier about wanting to learn Rust. I started planning out a project and quickly realized that I should start small. Given that rust is a lower level, systems programming language, there are many deeper concepts that I haven’t often needed to consider during my career with JavaScript.

I have been working through the official Rust Programming Language book and juggling around different project ideas in my mind. I don’t want this project too be so complex that I am quickly blocked and lose interest, but I also don’t want it to be so simple that I fail to follow through (like so many other side projects I have started).

Along with much of the world recently, I have taken an interest in AI and interfacing with chat apis. This combined with my interest in crypto, I’ve been meditating on the idea of an interface which is a simple crypto wallet that sends and receives crypto and a generated AI text element that summarizes your recent activity in your wallet.

I know that summaries are dime a dozen already in the AI space but I am trying to keep my project to a minimum with simple features. Building a wallet with Rust is already a feat larger than my current level can grasp.

I’m planning on using Tauri to build this, which will have a learning curve of it’s own. My familiarity with Next should help create the UI side quickly and the interfaces with Rust will help me learn the workflow of Rust.

Even just researching Rust tools for this blog post is making me realize I should shoot a little lower. As a dyslexic, I have a habit of biting off more than I can chew. Implementing a wallet with Rust will be a huge undertaking so now I’m thinking I’ll first make a simple app that looks up the balance of a given Eth address. I know this can easily be done all within the UI so I’m going to use the Rust side to persist the entered addresses to a database. Then I can have a complete flow of CRUD operations for each given address and not worry about authentication and security just yet.

Now considering the technical design, I can easily draw lines between UI and backend. The interface will make fetch requests to populate the balance of the address in the UI, and the backend will simply persist the entered address. The Tauri docs have a straight forward guide on getting started with Next.js. I’ll need to figure out how to interface with a database in Rust but I’m confident I can find that on the internet (or chatgpt).

I’m hoping to write more about this process in future blogs while running my wife’s business and continuing to look for work here in the Netherlands.