• Forum has been upgraded, all links, images, etc are as they were. Please see Official Announcements for more information

Deploy tool thread

strophy

Administrator
Staff member
Dash Core Group
Dash Support Group
Hello Dash Community!

I recently did a spontaneous live stream on Discord demonstrating how we go about deploying an updated version of Dash Platform to 150 masternodes on testnet. I received some good feedback on this, so I thought I'd write up our ongoing plans for the deployment tool some of you saw demonstrated on the stream.

DCG spends US$5-10k per month, primarily on AWS EC2 compute infrastructure, to operate 150+ testnet nodes and a varying number of devnet nodes, depending on testing needs. As the number of developers and researchers has increased so rapidly, so too has the need for devnets to test new features. In order to make it easier, faster and cheaper to deploy devnets, our plans for the tool include the following features:
  • Support ARM architecture (strophy, status: in progress)
  • Deploy very large networks faster (Latte, status: prototype done)
  • Run multiple masternodes on one instance ("multiplexing") to reduce need for individual instances
  • Replace Ansible-managed compose files with Dashmate, to reduce duplicated work in maintaining two masternode management tools
  • Support alternative infrastructure targets, such as decentralized Akash network
My primary focus at the moment is to ensure that our full software stack (Dash Core (C++), Tenderdash (Go) and Platform (JS + Rust)) runs and ideally also builds on arm64 processors. There are three main reasons for this: to make life easier/faster for developers with ARM M1 processors, to prepare for an increasingly multi-arch future and to take advantage of AWS t4g ARM Graviton2 nodes, for a decent 40% cost saving. This means I spend a lot of time lately writing GitHub Actions code and figuring out compiler errors, which results in numerous pull requests both to our repos and to upstream projects to update their build systems, on which we depend. Once this work is done, we will modify the deploy tool itself to create arm64 infrastructure.

The deploy tool is available for anyone to use, and currently only supports AWS (community contributions to support Akash network welcome!). It runs on Linux and depends on the tools Terraform and Ansible, but it can also be run from a preinstalled Docker image for the Windows users out there. It runs in two steps: (1) Terraform, to create the necessary cloud infrastructure resources such as servers, storage, networking and domain names, and (2) Ansible, which installs the various Dash software on each node, according to its role. Each network includes masternodes, seed nodes, a miner, an Insight block explorer, Elasticsearch logging server, and wallet nodes for making transactions.

Post below if you have any questions about the deploy tool, and let me know if anyone tries it out for themselves or wants to work on some of the plans above :)
 
Back
Top