Skip to content
Draft
Show file tree
Hide file tree
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
136 changes: 136 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.pytest_cache/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
.python-version

# celery beat schedule file
celerybeat-schedule

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# IDE
.vscode/
.idea/
*.swp
*.swo
*~

# OS generated files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

# Application specific
wallet_key.key
*.key
wallet_files/
temp/
126 changes: 126 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
# Stockbot

A Python-based application suite for interacting with the Solana blockchain, featuring a GUI launcher and wallet management capabilities.

## Features

- **Launcher Application**: Main entry point with module management and dependency checking
- **Solana Network Interface**: GUI application for wallet management, balance checking, and transactions
- **Secure Wallet Storage**: Encrypted private key storage with local key management
- **Module Wizard**: Automated dependency installation and verification

## Requirements

- Python 3.9 or higher
- Dependencies listed in `requirements.txt`

## Installation

1. Clone the repository:
```bash
git clone https://github.com/jamubc/stockbot.git
cd stockbot
```

2. Install dependencies:
```bash
pip install -r requirements.txt
```

3. Run the launcher:
```bash
python launcher.py
```

## Usage

### Launcher Application

The launcher provides two main tabs:

- **Launcher**: Launch individual applications
- **Wizard**: Check and install required modules and dependencies

### Solana Network Interface

The Solana module (`modules/solpy.py`) provides:

- Wallet balance checking for SOL and SPL tokens
- Wallet generation and import functionality
- Secure private key management with encryption
- Transaction capabilities (simulated for security)

## Security Features

- Private keys are encrypted using the `cryptography` library
- Authentication system for application access
- Input validation for wallet addresses and amounts
- Network request timeout and error handling

## Configuration

The application uses a `config.json` file that can be automatically downloaded from the repository. The configuration includes:

- Version information
- Required dependencies
- Python module requirements

## Environment Variables

- `SOLANA_USERNAME`: Override default authentication username
- `SOLANA_PASSWORD`: Override default authentication password

## Testing

You can verify the installation and functionality by running the test script:

```bash
python test_stockbot.py
```

This will check:
- File structure integrity
- Configuration validity
- Module imports (where possible)
- Security function functionality

## Development

For development work, install additional dependencies:

```bash
pip install -r requirements-dev.txt
```

### Code Structure

- `launcher.py`: Main launcher application
- `modules/solpy.py`: Solana network interface
- `config.json`: Application configuration
- `requirements.txt`: Python dependencies

### Code Quality

The codebase follows Python best practices:

- Comprehensive error handling
- Input validation
- Secure credential management
- Modular function design
- Comprehensive documentation

## Contributing

1. Fork the repository
2. Create a feature branch
3. Make your changes following the existing code style
4. Add tests if applicable
5. Submit a pull request

## License

This project is licensed under the MIT License - see the LICENSE file for details.

## Support

For support and questions, please open an issue on GitHub.
8 changes: 4 additions & 4 deletions config.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,18 @@
"version": "1a_2025"
}
],

"requirements": [
{
"name": "solpy.py",
"source": "https://None"
"source": "none",
"description": "Solana network interface module"
}
],

"python_requirements": [
{
"name": "dearpygui",
"source": "https://None"
"source": "none",
"description": "GUI framework for the applications"
}
]
}
Loading