Welcome to XRPL 365

The new home of the TX Exporter xApp for XUMM & Rarity Sniper clone for XRPL NFT projects.

This is a single page website for basic informational purposes

Refer to our github repository for more detailed information on our App and how to contact the developer

github.com/xrpl365/tx-exporter github.com/xrpl365/rarity-sniper

Rarity Sniper Clone: 10th July 2023

We are happy to announce we just pushed a beta of a tool aimed at NFT issuers, who follow the rarity sniper standard.

I built this tool to help issuers, who want to be able to see rarities in advance of mint.

The tool is delivered as a usable website if your JSON confirmed to the required standard, or the full source is provided as open source on github, link above.

TX Exporter Launch: 7th February 2022

We are happy to announce the official launch of our transaction exporter xApp for XUMM.

About the developer

My name is Chris, I am a software developer based in the UK and I've been at it now for over 25 years. On a side note, I love it today as much as when I started as a spotty teenager.

Why did I build a clone of the rarity sniper algo?

A project I am involved with minted a collection with onXRP. They follow the rarity sniper standard and we found it time consuming and difficult to design the collection and in particular the rarity element, due to the complexity of rarity generally, and of course the number of calculations when dealing with a collection of 10,000 unique NFTs.

This is the tool we wish we had, when we started the process.

Why did I build the TX exporter?

I have been a fan of the XRP Ledger (XRPL) for many years and I'm a big supporter of Wietse Wind and everything he is doing with XRPL Labs to further the development of the XRPL.

Late last year I found myself with some "rare" free time. I have always wanted to put my professional skills to use and support the community that I have enjoyed being a part of for so long. I reached out to Wietse and we spoke about my interest in building something that would be a great intro (for me) to the XRPL but also deliver something that would add value to the wider XRP community.

Wietse informed me that there was demand from the XUMM community for an export tool. Crypto is a taxable form of property in almost every country in the world and as such getting access to transaction data in a clean and simple way is a necessary requirement for many users. Naturally there are already ledger explorers that can get you access to all the information you might need, but we felt that a nicely packaged xApp, linked to your XUMM accounts, that was easy to use and allowed exporting of the data you need in a configurable way would be an improvement for all and a big benefit to users who want simplicity and speed.

So I made the decision to get this done and as all good devs do; I just jumped in and got cracking.

Tech stack?

I decided to go with javascript; from what I had read, support for it was good within XRPL community.

As I discovered very early on; this xApp didn't require a backend so I only needed a frontend framework; React and Bootstrap 5 was my choice for this app.

The code is open source; (it's on github). I've learned much from reading other people's code and I hope that maybe sharing what I have written will help or inspire other developers to have a go too.

I can tell you that I have loved this experience and would recommend it. If you are a developer and you are a fan of XRP, then this is a must do and valuable experience.

About the app, my journey and the challenges/decisions I made

OK so it's React, mobile first obviously given it's an xApp but it can be viewed and used from any browser, you just need to supply an rAddress.

It was designed to only be a frontend app because the nature of what the app does means all the data is coming from the ledger requiring no private keys or passwords, and its not really storing anything other than personal preferences which are saved in local storage on the device.

In terms of it only being a frontend app, well... along the way I hit a slight bump when exporting the actual data, because given the xApp runs inside XUMM, I found out that you can't simply download a file in the way you can within a Chrome browser for example. This did force me to make a slight change to how I envisioned the app working but with the help of a very simple REST API and a useful little command within the XUMM SDK; I was able to overcome the issue and provide a simple "click to download your export as a file" function. I also added a copy to clipboard button too, as a fallback, mainly because I wrote the function originally when I thought I would be unable to provide a direct file link and decided that I would just leave it for anyone who might prefer to just copy and paste a CSV into a local file or email it to themselves. I have been asked to provide the link to the export file, rather than directing the user there immediately and I will probably consider adding this as a future feature.

The XUMM documentation was very good; I was able to setup a sandbox development environment very quickly and stand up a simple implementation linked to XUMM, in a matter of a few hours. Once I had done this, I took some time to really examine the docs and plan the app. I went for the React context over a library like Redux; I just felt that as my goal was to keep the app lightweight and simple, the context would deliver everything I needed.

In terms of my journey, I've been coding apps like this for years, so 90% of the app was like a Busman's holiday. Working with the XRPL itself was easy; I found the docs on XRPL.org very comprehensive and easy to follow. When I needed to know something, I found it quickly and understood it no problem. Cudos to both the XRPL.org and XUMM SDK for making my experience quite painless.

It would be remiss of me to fail to mention Wietse in this section. He has given me his full support during this process and I finally had the pleasure of meeting him on Zoom, he is as you might expect a really nice guy. I thank him for the support he provided when I needed pointing in the right direction; for his confidence in me as a developer and finally for sending me replies at midnight whilst on his holidays, which for me was above and beyond what anyone should normally expect. I should also add that towards the latter part of this project when it came to testing, I had the pleasure of speaking with several of the team at XRPL Labs, all of which were extremely friendly, supportive and thorough in their responses to my various queries. I wish Wietse and his team at XRPL Labs continued success in their mission and I hope I will get another opportunity to work with them all again in the future.

App support

The app is provided free to all; the code is open-source and on github, so if you're a dev and find a bug feel free to write a fix and make a pull request.

If you are a user and experience a problem, then please report it via github; details of how to do this are on github.

Please bear in mind when raising support queries that this is not a commercial project, maintaining it will be something I do in my spare time, you are not going to get a reply within a few hours. Please also be considerate when leaving feedback or raising issues, this is after all a free tool.

Anyone wishing to get in touch with me with non-support queries can do so via DM on twitter @xrpl365

And... this website, yeah, it's pretty naff but it only serves one purpose at the moment which is to host this blog ;-)

Conclusion

The goal of this project was to provide myself with an opportunity to get my feet wet with XRPL development, something I have wanted to do for years but just never had the time or opportunity. I wanted the time I spent to lead to something of value, not just create another hello world or todo list app as a proof of concept.

The app is an MVP, whilst developing it, I had to fight the urge to over-engineer elements. There are already areas that I would like to redo or improve upon but with the time constraints I had and both goals being achieved I am pleased with the final result, and I hope you are too.

I have loved every minute of this project and I hope this won't be the last XRPL project I am involved with. If there are opportunities to work on other projects I would welcome an approach, likewise if you have ideas for how this app could grow and want to get involved, I am quite open to your ideas and the potential for collaboration.