How We Built And Secured A Crypto Mining Pool

Description

Sigmapool is a crypto mining pool with more than 60,000 active workers and over 700 active miners. The platform has an active blog, hardware store, and active block updates. We built a safe Blockchain and Litecoin mining environment, capable of withstanding heavy workloads.

Tech stack

Koa, VueJS, Mongo DB, PostgreSQL, .NET multi-currency

Our role

Branding, UX/UI Design, Animations, Web Development, Backend, Blockchain, Support

The Challenge

The founders of the project wanted to apply their hardware production experience in a new field. They came to us with the request to develop a mining tool that would accommodate their crypto production as well as their partners' hardware.

Developing a mining pool presents very common challenges - the platform has to be safe, fast, and functional. As the pool will grow and accommodate more users, Sigmapool should be able to continue working impeccably.

Ensuring long‑term management

The infrastructure of the pool is based on the Kubernetes cluster for comfortable service management. All external connections are processed by CloudFlare so the service is protected from DDOS‑attacks.

We chose Node.js + Koa combination for web application and integrated it with the MongoDB - an independent database for backup copies of essential data. The additional database takes the workload from the main base in PostgreSQL which is now used only for mining data.

We implemented Coin Daemon technology for transaction processing. The pool has an active backup instance - the service resets to the previously saved version in case of an emergency.

Comfortable maintenance due to auto-deployment of repository's application - the service downloads the necessary components automatically, saving the team's time and resources.

Now the internal Sigmapool's team can quickly deploy new versions of the platform and grow with no limitations

Building a rich mining pool

We took pointers from the biggest and most popular mining pools in the industry - Antpool, BTC.com and others. The first priority was to deliver the essential functionality: remembering hashing of all pool members, controlling computing power, recording each member's activities, and assigning reward in an honest and transparent way.

When we were working on Sigmapool, we had a list of must-follow criteria that we based our product requirements on throughout the entire project.

Scalability

Independent infrastructure for every coin allows adding new currencies and experimenting with features of each of them. Scalable servers for processing web requests.

High availability

The high number of connected servers assure constant availability: a technical issue on one server doesn't influence the performance of the mining pool.

If the platform experiences a technical issue, it's automatically transferred to the reserve address. As soon as the service is back, the data returns to the main location.

The load is balanced with Nginx reverse proxy.

Security

SSH Key authentication, HTTPS for user data safety.

Firewalls to block any unnecessary connections (restrict access).

File Auditing and Intrusion Detection System.

All critically important services work via whitelists and are isolated in a private network. The structure of each coin is also isolated - tampering with one coin won't lead to damaging others.

Two-factor authentication, CloudFlare hides real IP addresses, and all actions are confirmed via email.

Maintenance

We built-in notification system that notifies the system about increased server workloads - so that the platform can react in time and maximize its processing capacity.

Centralized auto-deployment of the repository code allows fast functionality release and management.

Team has access to admin panel for keeping track of platform's functionality and supporting users.

Profitability

Merged mining allows getting bonuses up to 106% - users can mine several Aux currencies simultaneously (Vertcoin, Dogecoin, Myriadcoin, Namecoin, and others).

All users can participate in the referral system and receive rewards for attracting new users.

Speed and usability

We made sure that miners can quickly access cash data and that the platform processes requests immediately. Miners are at the center of Sigma Pool's internal logic. They receive instant support, notifications about updates on other miners' activities, BI dashboards, statistics and have a custom Telegram bot which provides them with all Sigmapool-related information.

Platform functionality

MinerTools: the tool enables centralized management of the group of miners. Miners can switch between their sub-accounts and pools. Miner Tools simplify communication and collaboration on the platform.

Cloud Mining: all data on mined resources and activity is re-saved to the Cloud storage.

Wallet: miners can transfer cryptocurrencies to a personal multi-wallet. An encrypted wallet stores every coin, mined in the pool, and can be accessed on the web page and in the mobile app.

Transparency and simplicity

All users get precise forecasts and reports on their previous activities, that can be exported in XLS and CSV.

Mining can be automated via SigmaPool's custom MinerTools.

We implemented connected authentication: users only have to log in once to be able to access all Sigmapool services - Cloud mining, pool, Sigmaminer, wallet.

Numbers

47,000+
miners
With a total capacity of 397 PH/s, are constantly working on Sigmapool only on the BTC pool.
99.9%
uptime
Working server period stable.

Results

Mining Implementation of BTC, DASH, LTC, ETH, XMR.
Scaling and fault tolerance with Kubernetes and Rancher.
Monitoring based on Grafana and Prometheus.
Microservice architecture with Docker.
In 2019, Sigma Pool entered the list of top-3 SV Bitcoin miners.
Integration with a currency exchanger.

The platform was highly praised by teams of international mining pools and considered to be a high-quality infrastructure by the experts of the field

Let's bring your ideas to life

If you'd like to get in touch with us you can email us at info@rocketech.it, call us on +65 3159 3765, send us a message via our online form, or get answers in real time by simple briefing @RocketechHelloBot.
SingaporeMoscowKyivLondonSan Francisco