TRX1 Dev Blog #3 (March 2021)

Thor Rune Xchain
4 min readApr 1, 2021

--

Starting from March, I dedicate my worktime solely to THORChain and work full-time on the following projects.

Chaosnetleaders

The leaderboard of THORChain traders has been adapted for Multi-chain operation. The backend has been rewritten and migrated to PostgreSQL to improve stability and performance. Also, a Testnet version has been deployed on a separate subdomain (see below).

Work is done:

  1. New parsers for both Midgard V1 & V2 transactions (extended for all kinds of TX not only swaps), added unit-tests for those new parsers.
  2. Migration to PostgreSQL, updated models, and updated docker-compose configurations.
  3. A new smart algorithm for the transaction scanner.
  4. Added YAML configuration and options for running the leaderboard in different environments (including single-chain Chaosnet and multi-chain network).
  5. Added a new API endpoint for the “scan & fill” status and progress
  6. UI: Added “scan & fill” status.
  7. Removed the “Competition” tab in the UI.
  8. UI: Links are pointing to the current MCTN block explorer.
TX scan & fill progress indicator

Leaderboard for MCTN is hosted here: https://leaderboard-mctn.thornode.org/
Leaderboard for BEB2 Chaosnet is updated as well: https://leaderboard.thornode.org/

You are always welcome to check out the source code here: https://github.com/tirinox/chaosnetleaders

Runiverse

As you may already know, this is a 3D visualization of THORChain operation in the browser. Finally, I created the very first demo. However, it has not yet been deployed anywhere. This will be done at the beginning of April.

Here are the tasks I’ve tackled:

  1. I started with migration to TypeScript. Although I wasn’t that familiar with it before, it wasn’t very difficult to get used to the syntax. It is less painful to do such a migration at the start of the project.
  2. Continued research and experimentation on GLSL shaders for better representation of stars, space, and galaxies. Added there a simple mouse controls through uniform variables.
  3. Both Midgard V1 & V2 clients were generated using OpenAPI specifications. I spent some time debugging it and fixing little bugs caused by typos. Hmm, I shall report them.
  4. A real-time event producer was developed which continuously scans the latest actions and pool depths and generates events when something is changed, e.g. a new transaction is created.
  5. Also, I started to create a tool for event recording and playback that will hopefully facilitate development and debugging.
  6. Finally, I decided to start the graphical part with a very basic polygonal renderer to refine the event processing to perfection, and then to mount the fancy graphics. Pools are shown as colorful spheres of size depending to pool depth. Transactions are just white boxes flying towards the corresponding pools. The visualizer is supplied with orbital mouse control.
Basic renderer

Sources are here: https://github.com/tirinox/runiverse

THORChain Monitoring bot

The main goal for this project in March and April is to prepare it for multi-chain operation.

Tasks that were done during March:

  1. Ported Midgard V1 & V2 parsers from Chaosnetleaders. The interface for multi-chain and single-chain, V1 and V2 are unified for better abstraction.
  2. Integration of aiothornode library.
  3. Changes and fixes for price and queue notifications to support Multi-chain environment.
  4. New adapters for runestake.info/runeyield.info APIs. Moreover, started to develop the “fees” section for LP reports.
  5. New explorer links for all main chains, new address validation functions.
  6. New ATH stickers and a circular shuffle algorithm for their rotation.
  7. Avatar generator has got a new option: green laser eyes using face recognition technology. Human photos only, cats are not supported, unfortunately.
  8. Also, it got support for non-square images and it can now accept the image as an uncompressed document to bypass Telegram’s poor JPEG quality.
  9. Mass code refactoring.
Laser eyes for your avatar (humans only, cats are not supported)

After thorough tests, I will update the bot for the BEPSwap environment as well.

The source code is here: https://github.com/tirinox/thorchainmonitorbot

Miscellaneous

Testing and playing with the donate-type transactions in MCTN and Midgard V2. A bug was reported.

Conclusion

In April I’m going to finish with multi-chain support in the THORChain monitoring bot and then go back to adding new features like node churn notifications, new metrics, and so on. Perhaps, node health and solvency checks.

Another development vector is improving graphics and animation in Runiverse projects.

Thank you, THORWarriors. Be healthy and wealthy!

--

--

Thor Rune Xchain
Thor Rune Xchain

No responses yet