Introduction
We are back with another update regarding our progress on the dYdX v4 open-source blockchain software (“dYdX Chain”), and we are excited to announce the completion of our third of five milestones!
The dYdX Private Testnet is set to begin on 3/28/2023 and will last 2-3 weeks. Please read below for further details and timelines!
A Recap of Milestones 2 and 3
The purpose of Milestone 2 was to complete all of the basic functionality needed to run the core product. We also created a more stable internal testnet with a larger number of validator nodes. This testnet remained internal to dYdX, but allowed for robust testing by our developers.
With Milestone 3, we added the completion of advanced features. The main features of this milestone are:
- Advanced Order Types
- Dynamic Funding Rates
- Using ABCI 2.0 and the other Latest Features of Cosmos-SDK
- Web Trading Interface
- Documentation for Validators
Now that we have completed the technical implementation of this milestone, we plan to work with a limited number of external validators to verify functionality by running a private testnet. Over the course of the next few weeks, we look forward to working with these validators to test out various aspects of the software. This will involve performing infra-level operations (i.e. setting up validator nodes, starting the chain, performing upgrades, etc.) as well as testing out some of the core exchange features (e.g., trading).
Our Plan for Milestones 4 and 5
Milestones 4 and 5 will be focused on non-core-product features, including the process of adding or removing new trading pairs and IBC connections to other chains.
Milestone 4 will include the launch of a fully-public testnet and an expanded number of validators testing out our product. This is projected to be completed by the end of July 2023. The completion of Milestone 5 will include the release of mainnet open-source software, which we anticipate will be available by the end of September 2023! Stay tuned for more details and exciting announcements regarding the completion of dYdX v4!
Some Initial Information About Our Plans to Open Source
We plan to open source the following components of dYdX v4:
The full-node is a v4 node that does not participate in consensus. It will receive data from other full-nodes and validators in the v4 network via the gossip protocol. Transactions can be sent to full-nodes which will be forwarded to other full-nodes or validators in the v4 network. The full-node that supports a third-party indexer should be set up in a network where transactions cannot be sent to the full-node from the public Internet.
Validators run full nodes to which users submit transactions. They participate in consensus by broadcasting votes signed by each validator’s private keys. The minimum recommended specs for running a node include 8-core, x86_64 architecture processor, 32 GB RAM, and 1 TB of storage space.
The indexer is a read-only service that consumes real time data from v4 to a database for visibility to users. The indexer consumes data from v4 via a connection to a full-node. The full-node contains a copy of the blockchain and an in-memory order book. When the full-node updates its copy of the blockchain and in-memory order book due to processing transactions, it will also stream these updates to the indexer. The indexer keeps the data in its database synced with the full-node using these updates. This data is made available to users querying through HTTPS REST APIs and streaming via websockets.
dYdX is building three front ends that will be open-sourced: an iOS app, an Android app and a website. The iOS and Android apps are built in native Swift and Kotlin, respectively, and the website using Javascript and React. All three front ends will interact with the Indexer through APIs and Websockets.
dYdX will publish open-source deployment configurations and scripts (where applicable) for the validator (protocol), indexer, and front-end services. These open-source repositories can be used to deploy any of the open-sourced services.