Skip to content

Commit c2c1632

Browse files
committed
Merge hdwallet-desktop into desktop with history
1 parent 33711f0 commit c2c1632

73 files changed

Lines changed: 31420 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
name: Build and Package HDWallet
2+
3+
on:
4+
pull_request:
5+
push:
6+
tags:
7+
- 'v[0-9]+.[0-9]+.[0-9]+'
8+
9+
jobs:
10+
build:
11+
runs-on: ${{ matrix.os }}
12+
strategy:
13+
matrix:
14+
os: [ubuntu-latest, windows-latest]
15+
16+
steps:
17+
- name: Checkout repository
18+
uses: actions/checkout@v3
19+
20+
- name: Setup Python
21+
uses: actions/setup-python@v4
22+
with:
23+
python-version: '3.10'
24+
25+
- name: Ensure Dist Directory Exists
26+
run: |
27+
mkdir -p dist
28+
echo "Dist directory ensured."
29+
30+
# - name: Install OpenSSL (macOS)
31+
# if: matrix.os == 'macos-15' || matrix.os == 'macos-latest'
32+
# run: |
33+
# brew install openssl
34+
# $(brew --prefix openssl)/bin/openssl version
35+
# sudo mkdir -p /usr/local/include /usr/local/lib
36+
# sudo ln -sf $(brew --prefix openssl)/include/openssl /usr/local/include/openssl
37+
# sudo ln -sf $(brew --prefix openssl)/lib/libcrypto.dylib /usr/local/lib/libcrypto.dylib
38+
# sudo ln -sf $(brew --prefix openssl)/lib/libssl.dylib /usr/local/lib/libssl.dylib
39+
# echo "LDFLAGS=-L$(brew --prefix openssl)/lib" >> $GITHUB_ENV
40+
# echo "CPPFLAGS=-I$(brew --prefix openssl)/include" >> $GITHUB_ENV
41+
# echo "PKG_CONFIG_PATH=$(brew --prefix openssl)/lib/pkgconfig" >> $GITHUB_ENV
42+
# echo "PATH=$(brew --prefix openssl)/bin:$PATH" >> $GITHUB_ENV
43+
44+
- name: Install dependencies
45+
run: |
46+
python -m pip install --upgrade pip
47+
pip install -r requirements.txt cx_Freeze
48+
49+
# - name: Build macOS App for Intel
50+
# if: matrix.os == 'macos-15'
51+
# run: |
52+
# echo "Starting Intel build using x86_64 architecture..."
53+
# arch -x86_64 python setup.py bdist_dmg || exit 1
54+
55+
# echo "Checking for .dmg and .app files after Intel build:"
56+
# find . -name "*.dmg" || echo "No .dmg file found after Intel build"
57+
# find . -name "*.app" || echo "No .app file found after Intel build"
58+
59+
# # Move .dmg files
60+
# if find build -name "*.dmg" 1> /dev/null 2>&1; then
61+
# mkdir -p dist
62+
# mv build/*.dmg dist/
63+
# elif find dist -name "*.dmg" 1> /dev/null 2>&1; then
64+
# mv dist/*.dmg dist/
65+
# else
66+
# echo "No .dmg file found for Intel build"
67+
# exit 1
68+
# fi
69+
70+
# # Move .app files if they exist
71+
# if find build -name "*.app" 1> /dev/null 2>&1; then
72+
# mkdir -p dist
73+
# mv build/*.app dist/
74+
# elif find dist -name "*.app" 1> /dev/null 2>&1; then
75+
# mv dist/*.app dist/
76+
# else
77+
# echo "No .app file found for Intel build, skipping."
78+
# fi
79+
80+
# echo "Intel build completed successfully. Contents of dist directory:"
81+
# ls -R dist || echo "dist directory does not exist"
82+
83+
84+
# - name: Build macOS App for ARM64
85+
# if: matrix.os == 'macos-latest'
86+
# run: |
87+
# echo "Starting ARM64 build using arm64 architecture..."
88+
# arch -arm64 python setup.py bdist_dmg || exit 1
89+
90+
# echo "Checking for .dmg and .app files after ARM64 build:"
91+
# find . -name "*.dmg" || echo "No .dmg file found after ARM64 build"
92+
# find . -name "*.app" || echo "No .app file found after ARM64 build"
93+
94+
# # Move .dmg files
95+
# if find build -name "*.dmg" 1> /dev/null 2>&1; then
96+
# mkdir -p dist
97+
# mv build/*.dmg dist/
98+
# else
99+
# echo "No .dmg file found for ARM64 build"
100+
# exit 1
101+
# fi
102+
103+
# # Move .app files if they exist
104+
# if find build -name "*.app" 1> /dev/null 2>&1; then
105+
# mkdir -p dist
106+
# mv build/*.app dist/
107+
# else
108+
# echo "No .app file found for ARM64 build, skipping."
109+
# fi
110+
111+
# echo "ARM64 build completed successfully. Contents of dist directory:"
112+
# ls -R dist || echo "dist directory does not exist"
113+
114+
115+
- name: Build .deb Package for Ubuntu
116+
if: startsWith(matrix.os, 'ubuntu-latest')
117+
run: |
118+
python build_deb.py
119+
if ls dist/*.deb 1> /dev/null 2>&1; then
120+
echo "Deb package created successfully"
121+
else
122+
echo "No .deb file found in dist directory"
123+
fi
124+
125+
- name: Build Windows Executable
126+
if: matrix.os == 'windows-latest'
127+
run: |
128+
python setup.py build
129+
python setup.py bdist_msi
130+
if (Test-Path dist/*.msi) {
131+
Write-Output "MSI package created successfully"
132+
} else {
133+
Write-Output "No MSI package found in dist directory"
134+
}
135+
136+
- name: Upload Ubuntu .deb Package
137+
if: startsWith(matrix.os, 'ubuntu-latest')
138+
uses: actions/upload-artifact@v4
139+
with:
140+
name: ubuntu-deb-package
141+
path: dist/*
142+
143+
- name: Upload Windows Executables
144+
if: matrix.os == 'windows-latest'
145+
uses: actions/upload-artifact@v4
146+
with:
147+
name: windows-executables
148+
path: dist/*
149+
150+
# - name: Upload Intel Build Artifacts
151+
# if: matrix.os == 'macos-15'
152+
# uses: actions/upload-artifact@v4
153+
# with:
154+
# name: macos-intel-artifacts
155+
# path: dist/*
156+
157+
# - name: Upload ARM64 Build Artifacts
158+
# if: matrix.os == 'macos-latest'
159+
# uses: actions/upload-artifact@v4
160+
# with:
161+
# name: macos-arm64-artifacts
162+
# path: dist/*

desktop/.gitignore

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Files stuff
2+
.DS_Store
3+
.coverage
4+
make.bat
5+
Makefile
6+
7+
# Folders stuff
8+
experiment/
9+
.venv/
10+
venv/
11+
.idea/
12+
.tox/
13+
.vs/
14+
15+
# Setuptools stuff
16+
build/
17+
dist/
18+
hdwallet.egg-info/
19+
20+
# Python stuff
21+
__pycache__/
22+
23+
# py.test stuff
24+
.pytest_cache/

desktop/LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2024 Talon Lab
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

desktop/README.md

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
<h1 align="center" style="border-bottom: none">
2+
<img height="100" alt="HDWallet" src="data/full-logo.svg">
3+
</h1>
4+
5+
<p align="center">
6+
<a href="https://github.com/talonlab/hdwallet-desktop/releases" target="_blank">Releases</a> · <a href="https://talonlab.gitbook.io/hdwallet/manual" target="_blank">Manual</a> · <a href="#donations">Donation</a>
7+
</p>
8+
9+
<div align="center">
10+
11+
![GitHub Created At](https://img.shields.io/github/created-at/talonlab/hdwallet-desktop)
12+
![GitHub License](https://img.shields.io/github/license/talonlab/hdwallet-desktop?style=flat&color=black)
13+
![Platforms](https://img.shields.io/badge/platforms-Windows%20%7C%20Linux-blue)
14+
![GitHub Release](https://img.shields.io/github/v/release/talonlab/hdwallet-desktop)
15+
![GitHub Release Date](https://img.shields.io/github/release-date/talonlab/hdwallet-desktop)
16+
17+
18+
</div>
19+
20+
A cross-platform client desktop application built on the [Hierarchical Deterministic (HD) Wallet Library](https://github.com/talonlab/python-hdwallet). This application leverages the Python-based library for the implementation of a hierarchical deterministic wallet generator for more than 200 multiple cryptocurrencies.
21+
22+
![Desktop Application](data/hdwallet.gif)
23+
24+
25+
## Installation
26+
27+
### For Windows (64-bit)
28+
29+
To install on Windows, download one of the following from the Releases page:
30+
31+
- MSI Installer– Recommended for a guided installation process.
32+
33+
- Executable (.exe) – A standalone version that runs without installation.
34+
35+
Once downloaded, double-click the .msi or .exe file and follow the on-screen instructions to complete the installation.
36+
37+
### For Linux
38+
39+
To install on Linux, download one of the following from the Releases page:
40+
41+
Note: For ubuntu >= 22.04 install required libraries
42+
43+
```
44+
sudo apt-get update
45+
sudo apt-get install libxcb-cursor0 libxcb-cursor-dev
46+
```
47+
48+
49+
- Debian Package (.deb) – Recommended for Debian-based systems like Ubuntu and Debian.
50+
51+
Installation: Open a terminal, navigate to the download location, and run:
52+
```
53+
sudo dpkg -i hdwallet-desktop-x.x.x-amd64.deb
54+
```
55+
56+
- AppImage– A portable format compatible with most Linux distributions.
57+
58+
Installation: Make the file executable and run:
59+
```
60+
chmod +x hdwallet-desktop-x.x.x-x86_64.AppImage
61+
```
62+
```
63+
./hdwallet-desktop-x.x.x-x86_64.AppImage
64+
```
65+
66+
67+
## Development
68+
69+
Fork the Repository: Fork this repository to your GitHub account.
70+
71+
Clone Locally: Clone the repository to your local machine. You can also clone the latest development version directly from GitHub:
72+
73+
```
74+
git clone https://github.com/talonlab/hdwallet-desktop.git
75+
```
76+
77+
Install Requirements: Navigate to the project directory and install the required dependencies:
78+
79+
```
80+
pip install -r requirements.txt
81+
```
82+
83+
84+
## Contributing
85+
86+
Feel free to open an [issue](https://github.com/talonlab/hdwallet-desktop/issues) if you find a problem,
87+
or a pull request if you've solved an issue. And also any help in testing, development,
88+
documentation and other tasks is highly appreciated and useful to the project.
89+
There are tasks for contributors of all experience levels.
90+
91+
92+
## Donations
93+
94+
Your contributions help us maintain and improve this tool for the community.
95+
If you find our work helpful, consider supporting the project:
96+
97+
- **Bitcoin** - 16c7ajUwHEMaafrceuYSrd35SDjmfVdjoS
98+
- **Ethereum / ERC20** - 0xD3cbCB0B6F82A03C715D665b72dC44CEf54e6D9B
99+
- **Solana** - 9cVoan5GvnpVvysEkFWEFR4k9cpTdWKmqQ6Gi7nwM5ES
100+
101+
We accept a wide range of cryptocurrencies! If you'd like to donate using another coin, generate an address using the following ECC public keys at [hdwallet.online](https://hdwallet.online):
102+
103+
| **ECC** | **Public Key** | **Online** |
104+
|------------------------|--------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
105+
| SLIP10-Secp256k1 | `029890465120fb6c4efecdfcfd149f8333b0929b98976722a28ee39f5344d29eee` | [generate](https://hdwallet.online/dumps/slip10-secp256k1/BTC?network=mainnet&hd=BIP32&from=public-key&public-key=029890465120fb6c4efecdfcfd149f8333b0929b98976722a28ee39f5344d29eee&public-key-type=compressed&format=JSON&exclude=root&generate=true) |
106+
| SLIP10-Ed25519 | `007ff5643c73e46e6c6a0dfd702894610505423e145dc8a93df19ff44eb011323b` | [generate](https://hdwallet.online/dumps/slip10-ed25519/ALGO?network=mainnet&hd=BIP32&from=public-key&public-key=007ff5643c73e46e6c6a0dfd702894610505423e145dc8a93df19ff44eb011323b&format=JSON&exclude=root&generate=true) |
107+
| Kholaw-Ed25519 | `005a49188ccd3d841dd877d7c00078da5c90452cbd69d4cef7a959f679fcc0e0e3` | [generate](https://hdwallet.online/dumps/kholaw-ed25519/ADA?network=mainnet&hd=Cardano&from=public-key&public-key=005a49188ccd3d841dd877d7c00078da5c90452cbd69d4cef7a959f679fcc0e0e3&staking-public-key=005a49188ccd3d841dd877d7c00078da5c90452cbd69d4cef7a959f679fcc0e0e3&address-type=payment&format=JSON&exclude=root&generate=true) |
108+
| SLIP10-Ed25519-Blake2b | `0051e8b29f7d0214dc96843cdbdcc071dc65397016ea6f7381f81bf42d76c7357c` | [generate](https://hdwallet.online/dumps/slip10-ed25519-blake2b/XNO?network=mainnet&hd=BIP32&from=public-key&public-key=0051e8b29f7d0214dc96843cdbdcc071dc65397016ea6f7381f81bf42d76c7357c&format=JSON&exclude=root&generate=true) |
109+
| SLIP10-Nist256p1 | `039ee4e2aadd6f4e7938d164b646c4b424114b8dd57252287151398ba0baf25780` | [generate](https://hdwallet.online/dumps/slip10-nist256p1/NEO?network=mainnet&hd=BIP32&from=public-key&public-key=039ee4e2aadd6f4e7938d164b646c4b424114b8dd57252287151398ba0baf25780&format=JSON&exclude=root&generate=true) |
110+
111+
112+
Thank you very much for your support.
113+
114+
## License
115+
116+
Distributed under the [MIT](https://github.com/talonlab/hdwallet-desktop/blob/master/LICENSE) license. See ``LICENSE`` for more information.
117+
118+
## Terms and Conditions
119+
120+
By using this project, you agree to the [Terms and Conditions](https://talonlab.gitbook.io/hdwallet/terms-and-conditions).
121+
122+
## Privacy Policy
123+
124+
To understand how your data is used, please review our [Privacy Policy](https://talonlab.gitbook.io/hdwallet/privacy-policy).

0 commit comments

Comments
 (0)