TrackTerra - Now Opensource , need your help!

Lunatic Fam,

This post was originally going to be a formal proposal to support the future development of TrackTerra . However due to some recent events ,i can no longer dedicate time to this project in the immediate term.

TrackTerra is now opensource and im hoping the community picks up where i left off. For anyone interested in building this out i will be happy to support from an advisory role please reach out to me on twitter(cryptoknight944) or telegram (@papi95) .

I will continue hosting TrackTerra until a better solution or a community maintained version takes over. And if no one takes over I will revisit this project and resume development…eventually.

A few housekeeping items:

  • Lacking support for some mirror v1 transactions
  • Mirror CDP closure transactions will multiple outputs arnt parsed correctly
  • Mirror CDP liquidations are not currently supported
  • Missing support for limit orders on terraswap
  • Multi reward claim transactions are not parsed correctly
  • Some SPEC reward transactions are not getting parsed (missing classier)
  • Loop LP transactions are parsed but LP names are not differentiated from Terraswap
  • Anchor liquidations are parsed from Anchor API (this was a rush job for the hackathon, not sure if this is supported) ideally we would index anchor liquidations in to trackterra rather than relying on Anchors API .
  • Watch out for event log corruption issues on FCD they will drive you nuts. Current workaround falls back to LCD when detected.
  • In order to import reports in to Koinly place holders are needed for token names that koinly doesnt have (mostly LP tokens) , these have to be NULL1, NULL2, etc (i know really annoying) . This feature was not implemented in V2 of trackterra.

No considerations have been made for STT, Tfloki, knowwhereart, or randomearth , parsers will likely need to be built for these transactions. Also with NFT mint transactions most of them are Luna or UST send transactions so they wont be parsed correctly as is.

TrackTerra currently relies on TFL infrastructure. In order to reduce the load on TFL infrastructure TrackTerra indexes wallets in to it’s own postgres database and on subsequent polls it only queries new transactions from FCD. TrackTerra also rate limits requests per IP address due to abuse that we saw early on.

As of today TrackTerra gets around 2000 unique requests per month , clearly the community sees a lot of value in this tool, for future developers wanting to continue building this solution i would encourage to apply for a community grant.

I expect all future development of TrackTerra to remain opensource and the TrackTerra source code is being release under GNU General Public License v3.0.

I may write some setup documentation in the near future , however a quick run down

  • Provision postgres database
  • Update creds in index.js (should probably be moved to ENV variable)
  • run npm install
  • run node index.js

Github: GitHub - Papi94/TrackTerra-v2

If you found these contributions useful and want to buy me a beer : terra1qqllfruhe96zhsrhpx35zvv7vnne05923us0lk

5 Likes

Thanks for doing all of this Papi. I will take a look at the repo this week. You will be saving me a ton of effort. Hopefully, I can contribute to the repo.