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.
- 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
-
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
Create a new file in the root of the dash-evo-tool directory named .env
and copy the contents of .env.example
into it. No changes to the file are necessary in this version.
Run the application using:
cargo run
-
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.