[New] Hive Engine NFT Explorer - Search NFT History Easily

Screenshot_20240825_180723.png

Don't want to read all of this and just want to use the tool? Cool, just visit the Hive Engine NFT Explorer site.

Hello everyone,

Having run NFTMart for a few years at this point, the team and I have always found the existing hive engine explorers to be great when dealing with tokens and most operations, but NFTs have always felt like second-class citizens. It's probably a limitation of showing so many forms of data at once - and to be clear, those tools are still useful and I'm very appreciative of everyone who's taken time to build tools to help the community. However, today is the day that changes.

Features

  • Search by User, Game, Item ID or the value of any of the properties - allowing you to do a search for a certain item.
    Screenshot_20240826_094825.png

  • See the history of an individual item
    Screenshot_20240826_095200.png

  • Find items by property
    Screenshot_20240826_095333.png

  • Advanced Search - Have a query you can't specify via the above boxes but we have the data to answer it - use our advanced mode to write your own custom query. For example - all actions that are initiated by a contract:
    Screenshot_20240826_121806.png

Development Log

v0.0

In a long lost land, the project was started and had the basics for handling of contracts and sending them to the correct handlers, as well as connecting to the DB, although it had issues processing block 0 originally. This is also when the sister project BlockFlock was created as I needed a way to query the Hive Engine network without it taking over 70ms per block + network time, and got it down to 3ms a block with this caching layer. It also meant that I didn't have to hit public nodes as I didn't want to harm the network while testing it (and boy was that a good decision because it took a lot of testing!)

v0.1

Started when I took it up as my LMT2 project, where we had to report on progress weekly for each of our projects, giving me a reason to make headway on this project. In this version it intended to pull the entire chain and try and reassemble it, without using the logs. I also polished most of the issues out of BlockFlock at this time.

v0.2

After a week I already realised that would be infeasible in any reasonable timeframe and so I reduced the scope to just contracts that would be required to handle the NFT tables. This was still a lot of contracts however, as I had to know what token balances people had and that encompassed nearly every operation.

v0.3

By the next week I realised even this goal was too lofty, and doing the sync was way too slow (still ~3 weeks to get this thing from 0 to 100% synced with hive engine), so I instead switched to just parsing the logs and storing it basically in one big history table.

v0.4

I realised that having to do everything in order was slowing the application down, and so to speed it up I split out the properties into a separate table so that I could parallelise the task. It has a few flaws (a fair bit of deadlocking on the database at the start), but this is all handled by the code and no data is lost so it is not an issue and this is the version which still stands to this day.

v1

This is basically v4 with a frontend placed on it, and is the version you see now. The real additions were being able to query the database with a custom query with GormQueryFromJson in a safe manner as well as the images for the cards from dCity and Rising Star.

Now that you've heard all about it, Try it out

If you found this tool useful, vote @cadawg for witness.

H2
H3
H4
3 columns
2 columns
1 column
18 Comments