Dash Evo Tool is a graphical user interface for easily interacting with Dash Evolution. The current version enables the following actions:
- Registering a DPNS username
- Viewing active DPNS username contests
- Voting on active DPNS username contests
- Decoding and viewing state transitions
The tool supports both Mainnet and Testnet networks. Check out the documentation for additional information.
- Prerequisites
- Installation
- Getting Started
- Usage
- Switching Networks
- Contributing
- License
- Support
- Security Note
Before you begin, ensure you have met the following requirements:
-
Rust: Install Rust using rustup:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
-
Update Rust to the latest version:
rustup update
-
Install build-essential tools, SSL development libraries, and other required dependencies. On Ubuntu, use:
sudo apt install -y build-essential libssl-dev pkg-config unzip
On other Unix-like systems, use the equivalent package management commands.
-
Install Protocol Buffers Compiler (protoc). Download the appropriate protoc binary for your system, unzip, and install:
wget https://github.com/protocolbuffers/protobuf/releases/download/v26.1/protoc-26.1-linux-x86_64.zip sudo unzip protoc-*-linux-x86_64.zip -d /usr/local
-
Dash Core Wallet: Download and install from dash.org/wallets.
-
Synchronize Wallet: Ensure the wallet is fully synced with the network you intend to use (Mainnet or Testnet).
To install Dash Evo Tool:
-
Clone the repository:
git clone https://github.com/dashpay/dash-evo-tool.git
-
Navigate to the project directory:
cd dash-evo-tool
-
Build the project:
cargo build --release
Run the application using:
cargo run
When the application runs for the first time, it creates an application directory and stores an .env
file in it (based on .env.example
). It also stores application data in the directory. If you need to update the .env
file, locate it in the application directory for your Operating System:
Operating System | Application Directory Path |
---|---|
macOS | ~/Library/Application Support/Dash-Evo-Tool/ |
Windows | C:\Users\<User>\AppData\Roaming\Dash-Evo-Tool\config |
Linux | /home/<user>/.config/dash-evo-tool/ |
-
Open Network Chooser: In the app, navigate to the Network Chooser screen.
-
Select Network: Choose Mainnet or Testnet.
-
Start Connection: Click Start next to the selected network.
- If Dash Core Wallet is running and synced, the status will show Online.
- If not, the app attempts to start Dash Core Wallet automatically.
-
Load User Identity:
- Go to the Identity screen.
- Click Load Identity at the top right.
- Fill in your user identity details:
- Identity ID (Hex or Base58)
- Identity Type should be "User"
- Alias (optional alias for use within Dash Evo Tool)
- Private Keys (only the authentication key that will be used to register the name is required for registering a username. Other keys can be added later.)
- Click Submit.
-
Register Username:
- Navigate to the DPNS screen.
- Click Register Username at the top right.
- Select the Identity you'd like to register the username for.
- Enter your desired username.
- Click Register Name
-
Load HPMN Identity:
- Go to the Identity screen.
- Fill in your Masternode or HPMN (High Performance Masternode) identity details:
- For Testnet, you can click "Fill Random HPMN" or "Fill Random Masternode".
- For Mainnet, ensure you have valid Masternode or HPMN credentials.
- Click Submit.
-
Vote on Contest:
- Navigate to the DPNS screen.
- If no contests appear, click Refresh. If still no contests appear, there are probably no active contests.
- Locate the active contest you wish to vote on.
- Click the button for the option you'd like to vote for within the contest's row (Lock, Abstain, or an Identity ID).
- Choose the Masternode or HPMN identity to vote with or select All to vote with all loaded Masternodes and HPMNs.
- Confirm your vote.
-
Open State Transition Viewer:
- Navigate to the State Transition Viewer screen.
-
Decode State Transition:
- Paste a hex or base58 encoded state transition into the input box at the top.
- View the decoded details displayed below.
-
Open Network Chooser:
- Go to the Network Chooser screen.
-
Select Network:
- Choose the network you'd like to interact with (Mainnet or Testnet).
-
Check Wallet Status:
- If Dash Core Wallet is already running on that network, the status column will show Online.
- If not, click Start to launch Dash Core Wallet on the selected network.
-
Wait for Sync:
- Ensure Dash Core Wallet is fully synchronized before proceeding.
Contributions are welcome!
-
Fork the Repository: Click the Fork button on the GitHub repository page.
-
Create a Branch:
git checkout -b feature/YourFeatureName
-
Commit Changes: Make your changes and commit them with descriptive messages.
git commit -m "Add feature: YourFeatureName"
-
Push to Branch:
git push origin feature/YourFeatureName
-
Submit Pull Request: Open a pull request on GitHub and describe your changes.
-
Follow Guidelines: Please ensure your code adheres to the project's coding standards and passes all tests.
This project is licensed under the MIT License. See the LICENSE file for details.
For assistance:
- Issues: Open an issue on GitHub Issues.
- Community: Join the Dash community forums or Discord server for discussions.
Keep your private keys and identity information secure. Do not share them with untrusted parties or applications.