Skip to content

Commit

Permalink
1.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
SecorD0 committed Feb 26, 2023
1 parent ecbdc1b commit 1976e53
Show file tree
Hide file tree
Showing 29 changed files with 18,840 additions and 2 deletions.
23 changes: 23 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
name: Bug report
about: Create a report to help us improve
title: Bug report
labels: bug
assignees: ''

---

<h3><p align="center">Description</p></h3>

A clear and concise description of what the bug is.

<h3><p align="center">To reproduce</p></h3>

Steps to reproduce the behavior:
1. Send ...
2. Select ...
3. See error

<h3><p align="center">Screenshots</p></h3>

If applicable, add screenshots to help explain your problem.
12 changes: 12 additions & 0 deletions .github/ISSUE_TEMPLATE/idea-suggestion.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
name: Idea suggestion
about: Help us to make better
title: Idea suggestion
labels: idea
assignees: ''

---

<h3><p align="center">Description</p></h3>

A clear and detailed description of the idea.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -127,3 +127,6 @@ dmypy.json

# Pyre type checker
.pyre/

# User files
files
14 changes: 14 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
FROM python:3.9.7-slim

WORKDIR /program

COPY . .
RUN apt-get update; \
apt-get install git -y; \
apt-get clean; \
pip install --upgrade pip; \
pip install -r requirements.txt

ENTRYPOINT ["python3"]

CMD ["app.py"]
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [yyyy] [name of copyright owner]
Copyright 2023 SecorD

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
156 changes: 155 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,155 @@
# eth-mnemonic-generator
<h1><p align="center">eth-mnemonic-generator</p></h1><h1>

<p align="center"><img src="images/icons/app.ico" width="400"></p>



<h1><p align="center">Content</p></h1>

- [DISCLAIMER](#DISCLAIMER)
- [Short description](#Short-description)
- [Useful links](#Useful-links)
- [File structure](#File-structure)
- [How to run](#How-to-run)
- [Windows](#Windows)
- [Docker](#Docker)
- [Source code](#Source-code)
- [Report a bug or suggest an idea](#Report-a-bug-or-suggest-an-idea)
- [Express your gratitude](#Express-your-gratitude)



<h1><p align="center">DISCLAIMER</p></h1>
<p align="right"><a href="#Content">To the content</a></p>

⠀The program has no injections — you can make the code review to make sure. Any cases of third parties gaining access to your wallet aren't the fault of the developer, but of you or another person. Keep your sensitive data in a safe place.

⠀By using this program you have agreed to the above and have no and won't have claims against its developer.


<h1><p align="center">Short description</p></h1>
<p align="right"><a href="#Content">To the content</a></p>

⠀The program allows you to:
- Generate a specified number of mnemonics;
- Retrieve private keys and addresses from mnemonics or private keys.



<h1><p align="center">Useful links</p></h1>
<p align="right"><a href="#Content">To the content</a></p>

[eth-mnemonic-generator](https://github.com/SecorD0/eth-mnemonic-generator)



<h1><p align="center">File structure</p></h1>
<p align="right"><a href="#Content">To the content</a></p>

⠀The program use the following files and directories:
- `files` — a user files directory:
- `errors.log` — a log file with errors that occurred during the work;
- `mnenonics.txt` — a text file with generated mnemonics or inserted mnemonics or private keys.
- `eth-mnemonic-generator.exe` / `app.py` — an executable file that runs the program.



<h1><p align="center">How to run</p></h1>
<p align="right"><a href="#Content">To the content</a></p>

<h2><p align="center">Windows</p></h2>

1. Download an EXE file from the [releases page](https://github.com/SecorD0/eth-mnemonic-generator/releases).
2. Create a folder and put the EXE file in it.
3. Run the program.
4. Follow the steps depending on your goal:
- Generate:
- Enter `1` and press `Enter`;
- Enter the number of wallets to generate and press `Enter`.
- Retrieve private keys and addresses:
- Insert mnemonics or private keys into the `mnemonics.txt` file;
- Enter `2` and press `Enter`.
5. Open the `mnemonics.txt` file to look at the result of the program.


<h2><p align="center">Docker</p></h2>

1. Install Docker, in Ubuntu you can use the command:
```sh
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/installers/docker.sh)
```
2. Clone the repository:
```sh
git clone https://github.com/SecorD0/eth-mnemonic-generator
```
3. Go to the repository:
```sh
cd eth-mnemonic-generator
```
4. Build an image:
```sh
docker build -t eth-mnemonic-generator .
```
5. Run the program.
```sh
docker run -it --rm -v $HOME/eth-mnemonic-generator/:/program --name eth-mnemonic-generator eth-mnemonic-generator
```
6. Follow the steps depending on your goal:
- Generate:
- Enter `1` and press `Enter`;
- Enter the number of wallets to generate and press `Enter`.
- Retrieve private keys and addresses:
- Insert mnemonics or private keys into the `mnemonics.txt` file;
- Enter `2` and press `Enter`.
7. Open the `mnemonics.txt` file to look at the result of the program.


<h2><p align="center">Source code</p></h2>

1. Install [Python](https://www.python.org/downloads/).
2. Clone the repository:
```sh
git clone https://github.com/SecorD0/eth-mnemonic-generator
```
3. Go to the repository:
```sh
cd eth-mnemonic-generator
```
4. Set up an environment.
5. Install requirements:
```sh
pip install -r requirements.txt
```
6. Run the `app.py`.
7. Follow the steps depending on your goal:
- Generate:
- Enter `1` and press `Enter`;
- Enter the number of wallets to generate and press `Enter`.
- Retrieve private keys and addresses:
- Insert mnemonics or private keys into the `mnemonics.txt` file;
- Enter `2` and press `Enter`.
8. Open the `mnemonics.txt` file to look at the result of the program.


⠀If you want to build the EXE file by yourself, use the command:
```sh
pyinstaller app.py -Fn eth-mnemonic-generator -i images/icons/app.ico --add-binary "images/icons;images/icons" --add-binary "data\wordlist;eth_account\hdaccount\wordlist"
```



<h1><p align="center">Report a bug or suggest an idea</p></h1>
<p align="right"><a href="#Content">To the content</a></p>

⠀If you found a bug or have an idea, go to [the link](https://github.com/SecorD0/eth-mnemonic-generator/issues/new/choose), select the template, fill it out and submit it.



<h1><p align="center">Express your gratitude</p></h1>
<p align="right"><a href="#Content">To the content</a></p>

⠀You can express your gratitude to the developer by sending fund to crypto wallets!
- Ethereum-like address (Ethereum, BSC, Moonbeam, etc.): `0x900649087b8D7b9f799F880427DacCF2286D8F20`
- USDT TRC-20: `TNpBdjcmR5KzMVCBJTRYMJp16gCkQHu84K`
- SOL: `DoZpXzGj5rEZVhEVzYdtwpzbXR8ifk5bajHybAmZvR4H`
- BTC: `bc1qs4a0c3fntlhzn9j297qdsh3splcju54xscjstc`
39 changes: 39 additions & 0 deletions app.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import logging

from functions.create_files import create_files
from data.models import ProgramAction
from functions.generate import generate
from functions.retrieve import retrieve

if __name__ == '__main__':
create_files()
while True:
action = None
print('''Select the action:
1) Generate mnemonics;
2) Retrieve private keys and addresses from mnemonics or private keys;
3) Exit.''')
try:
action = int(input('> '))
if action == ProgramAction.Generate:
generate()

elif action == ProgramAction.Retrieve:
retrieve()

else:
break

except KeyboardInterrupt:
pass

except ValueError:
print(f"You didn't enter a number!")

except:
logging.exception('main')
print(f'\nSomething went wrong!\n')

if action:
input(f'\nPress Enter to exit.\n')
break
Empty file added data/__init__.py
Empty file.
14 changes: 14 additions & 0 deletions data/config.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import os
import sys
from pathlib import Path

if getattr(sys, 'frozen', False):
ROOT_DIR = Path(sys.executable).parent.absolute()
else:
ROOT_DIR = Path(__file__).parent.parent.absolute()

FILES_DIR = os.path.join(ROOT_DIR, 'files')

ERRORS_FILE = os.path.join(FILES_DIR, 'errors.log')

MNEMONICS_FILE = os.path.join(FILES_DIR, 'mnemonics.txt')
3 changes: 3 additions & 0 deletions data/models.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
class ProgramAction:
Generate = 1
Retrieve = 2
Loading

0 comments on commit 1976e53

Please sign in to comment.