I used the Django full stack framework, which is an open-source Python-based web development framework using a Model-View-Template or MVT architecture. Languages include, but are not limited to:
There are also additional Python libraries and Node modules that are utilized in the project not mentioned above.
I started getting involved with blockchain in 2017 and decided that I wanted to learn a lot more about the technology, so I decided to get involved with a blockchain that was still in development, but close to launching its main net.
The blockchain of choice was Telos. It's a 3rd generation blockchain and uses the DPOS (Delegated Proof of Stake) consensus algorithm, which is one of the fastest consensus mechanisms in the blockchain space. Telos has a block time of half a second and is capable of processing up to 10 000 transactions per second. At the time, this was unlike anything else available on the market and I really wanted to be a part of it.
I set up a server and registered myself as a delegate, also known as a block producer, and have been running network infrastructure for them ever since. Below is a screenshot of the application running on one of the API nodes.
Telos is part of the reason why I decided to study computer science because, I have a big interest in blockchain technology and wanted to position myself as a possible Dapp (Decentralized application) developer.
The first thing I noticed was how much development was taking place and how difficult it was to keep up with everything, so I decided to build a web directory that is open to the community to serve as a centralized database of information for Telos, basically a Dapp library. If a Dapp developer is working on a specific application, they can post the details related to their project on Telos Central and inform the community.
Below is a screenshot of the "Telos Ecosystem" page that shows all the applications and different categories.
This project is probably the project where I learned the most about server configurations and security. Since the block producers have to make their server information available publicly, for API endpoint utilization, etc. security cannot be emphasized enough.
I run multiple servers on this project, such as the ones responsible for the API endpoints, block production, history nodes, snapshot generation nodes as well as the server for the actual website. I mainly use Nginx in a reverse proxy configuration with Apache2.
Snapshots are generated by a dedicated server running the blockchain application. It also runs a server application that serves the data to the TelosCentral sever, which is where they can be downloaded from. See the screenshot below. Block producers can use these snapshots to get a Telos node up and running within a matter of minutes, as opposed to weeks which is how long it would take to synchronize a node with the network.