Stellar

Stellar Account Viewer - Project Galileo

A React web-app for exploring the important info from a stellar wallet address

Project URL: https://github.com/LoganStein/Galileo

Why did I build this app?

I've been very interested in the Stellar blockchain for a while now. There are so many reasons why stellar is my blockchain of choice. The transaction fees are extremely low, transactions clear in ~5 seconds rather than 30-60 minutes (like bitcoin), it's quick and easy to issue an asset making it very flexible and versitle, and love that the stellar blockchain uses far less energy than other blockchains (like bitcoin) and even less energy per transaction than VISA (*citation).

Because I've been using stellar so much for so long, I wanted to be able to check on my wallets quickly and easily. StellarX is a great website to do this, however, StellarX only allows you to view a wallet you're signed in with. I couldn't find any other apps or services that would allow me to get all the info StellarX might give but without signing in. I have more than one wallet and have set up my friends and family with stellar wallets as well and like to check in on them from time to time. With this app it's very easy to quickly see the total value, transactions, and assets in any wallet with just the public address.

How did I build this app?

I used the React framework and the stellar horizon API to retrieve the data then parsed it in javascript for displaying. This was a really simple project technically speaking. There isn't much processing going on in the background. The majority of the code is just making API calls and processing the data that is returned.

Challenges I ran into

The biggest challenge with this project was reigning in the number of API calls I was making. API calls are time-expensive, and the stellar API has a limit of how many calls you can make so it was important to keep the number of calls to a minimum. I solved this by focusing on managing the data I've received rather than calling the API again I passed the data I already had around to the components that needed it. This was achieved with a mix of context and prop drilling depending on which made more sense for that instance.

Limitations

This tool is not meant to create transactions on the ledger but simply to allow the user to view transactions associated with the address provided. There is also some functionality that I've had trouble with. This is still very much a work in progress so these features may be fully functional later on.

Income

I would like to display the income the wallet has in hourly, daily, and monthly increments. However, this requires a lot of analysis of a wallet's transactions over time. For now, this feature simply looks at the last few incoming payments. I'd like to use memos and the timing of similar payments to determine a more accurate "income" number.