Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 24 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,12 @@ The tool supports both Mainnet and Testnet networks. Check out the [documentatio

- [Prerequisites](#prerequisites)
- [Rust Installation](#rust-installation)
- [Dependencies](#dependencies)
- [Dash Core Wallet Setup](#dash-core-wallet-setup)
- [Installation](#installation)
- [Getting Started](#getting-started)
- [Start the App](#start-the-app)
- [Application directory](#application-directory)
- [Connect to a Network](#connect-to-a-network)
- [Usage](#usage)
- [Register a DPNS Username](#register-a-dpns-username)
Expand Down Expand Up @@ -46,6 +48,25 @@ Before you begin, ensure you have met the following requirements:
rustup update
```

### Dependencies

- Install build-essential tools, SSL development libraries, and other required dependencies. On
Ubuntu, use:
Comment on lines +53 to +54

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codebase verification

Instructions need platform-specific dependency commands

The README currently only provides Ubuntu-specific instructions for installing dependencies, with a vague reference to "equivalent package management commands" for other Unix-like systems. However, the codebase shows the tool supports multiple platforms (Windows, macOS, Linux). Specific instructions should be added for:

  • macOS (using Homebrew)
  • Windows (using vcpkg or similar)
  • Other major Linux distributions (Fedora, RHEL, etc.)

The following sections need platform-specific commands:

  • Build essential tools installation
  • SSL development libraries
  • pkg-config (Windows equivalent)
  • Protocol buffer installation (currently shows Linux x86_64 specific commands)
🔗 Analysis chain

Verify instructions on other platforms

While the instructions have been verified on Ubuntu 24.04, we should ensure they work on other common platforms.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for platform-specific installation instructions in issues/PRs

# Search for platform-specific installation issues
gh issue list --search "in:title installation" --json number,title,body --jq '.[] | select(.body | contains("Ubuntu") or contains("Debian") or contains("macOS") or contains("Windows"))'

# Search for related PRs
gh pr list --search "in:title installation" --json number,title,body --jq '.[] | select(.body | contains("Ubuntu") or contains("Debian") or contains("macOS") or contains("Windows"))'

Length of output: 372


Script:

#!/bin/bash
# Let's check the README.md and documentation for platform-specific installation instructions
rg -A 5 -B 5 "Install|Dependencies|Requirements" README.md docs/ || true

# Also search for any platform-specific mentions
rg -i "ubuntu|debian|macos|windows|linux" README.md docs/ || true

# Check if there are any platform-specific installation scripts
fd -e sh -e bat -e ps1 "install|setup" || true

Length of output: 3071


``` shell
sudo apt install -y build-essential libssl-dev pkg-config unzip
```

On other Unix-like systems, use the equivalent package management commands.

Comment on lines +51 to +61

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Document tenderdash-proto dependency requirements

Given that issue #45 specifically mentioned build failures with tenderdash-proto, we should explicitly document any specific requirements for this dependency.

Consider adding:

 On other Unix-like systems, use the equivalent package management commands.

+### Additional Dependencies
+
+Some components have specific requirements:
+
+- **tenderdash-proto**: Requires Protocol Buffers Compiler (protoc) and build tools
+  - Verify installation with: `protoc --version`
+  - If you encounter build errors, ensure all dependencies are properly installed
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
### Dependencies
- Install build-essential tools, SSL development libraries, and other required dependencies. On
Ubuntu, use:
``` shell
sudo apt install -y build-essential libssl-dev pkg-config unzip
```
On other Unix-like systems, use the equivalent package management commands.
### Dependencies
- Install build-essential tools, SSL development libraries, and other required dependencies. On
Ubuntu, use:

- Install Protocol Buffers Compiler (protoc). Download the appropriate protoc binary for your
system, unzip, and install:

``` shell
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
```
Comment on lines +62 to +68

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Add architecture-independent protoc installation instructions

The current protoc installation instructions have several limitations:

  1. They assume x86_64 architecture
  2. The version (26.1) is hardcoded without explaining version requirements
  3. No verification steps are included

Consider updating to:

- 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
+ # For Ubuntu/Debian:
+ sudo apt install -y protobuf-compiler
+ # Verify installation:
+ protoc --version  # Should be 3.x or higher

If a specific version is required, please document the minimum version requirement.

Committable suggestion skipped: line range outside the PR's diff.


### Dash Core Wallet Setup

- **Dash Core Wallet**: Download and install from [dash.org/wallets](https://www.dash.org/wallets/).
Expand Down Expand Up @@ -185,19 +206,19 @@ Contributions are welcome!

- **Create a Branch**:

```
``` shell
git checkout -b feature/YourFeatureName
```

- **Commit Changes**: Make your changes and commit them with descriptive messages.

```
``` shell
git commit -m "Add feature: YourFeatureName"
```

- **Push to Branch**:

```
``` shell
git push origin feature/YourFeatureName
```

Expand Down