The rechain_coin repository is a cryptocurrency project developed using C, C++, Qt, and Python. It implements core blockchain functionality, including decentralized transactions, wallet management, and secure peer-to-peer communication. This Wiki provides guidance for setting up, using, and contributing to the project.
To set up and build the project, ensure you have the following installed:
- C++ Compiler: GCC (Linux), Clang (macOS), or MSVC (Windows).
- Qt Framework: Latest version for GUI development.
- Python: Version 3.8 or above for scripting and API utilities.
- CMake: For building the project.
- OpenSSL: For secure communication.
-
Clone the repository:
git clone https://github.com/sorydima/rechain_coin.git cd rechain_coin
-
Install dependencies:
- On Debian/Ubuntu:
sudo apt-get install build-essential qt5-default libssl-dev cmake python3
- On macOS:
brew install qt openssl cmake python
- On Windows: Use vcpkg or manually download Qt and OpenSSL.
- On Debian/Ubuntu:
-
Build the project:
mkdir build && cd build cmake .. make
-
Run the application:
./rechain_coin
-
Core Blockchain Functionality
- Decentralized ledger.
- Peer-to-peer transaction validation.
-
Wallet Management
- Generate, import, and manage cryptocurrency wallets.
- Encryption of private keys.
-
Qt-Based GUI
- Cross-platform user interface for interacting with the blockchain.
-
Python APIs
- Python bindings for scripting blockchain operations.
The project follows a modular architecture:
-
Core Blockchain Logic: Written in C/C++, responsible for ledger management, transaction validation, and consensus.
-
Qt GUI: User interface for wallet operations and blockchain interactions.
-
Python Scripts: Used for automation and API integration.
-
Networking Module: Handles peer discovery, message routing, and encryption via OpenSSL.
-
Launch the compiled executable:
./rechain_coin
-
Features available in the GUI:
- Create Wallet: Generate a new wallet.
- Send Coins: Initiate transactions.
- Transaction History: View past transactions.
-
Import the Python bindings:
from rechain_coin import BlockchainAPI api = BlockchainAPI()
-
Example: Create a new wallet:
wallet = api.create_wallet("password123") print(f"Wallet Address: {wallet['address']}")
-
Example: Send coins:
tx = api.send_coins(sender="wallet_address", recipient="recipient_address", amount=10.0) print(f"Transaction ID: {tx['id']}")
- Fork the repository.
- Create a feature branch:
git checkout -b feature/new-feature
- Make your changes and build the project:
cmake .. make
- Test your changes:
- Unit tests are located in the
tests
directory.
./run_tests
- Unit tests are located in the
- Submit a pull request.
- C++: Follow the Google C++ Style Guide.
- Python: Adhere to PEP 8.
- Qt: Use best practices for Qt GUI development.
-
What is rechain_coin? A cryptocurrency implementation using REChain Basis technology.
-
Which platforms are supported? Linux, macOS, and Windows.
-
How do I report bugs? Use the GitHub Issues tab.
-
Can I integrate rechain_coin with other systems? Yes, use the Python APIs for integration.
- Protocol Documentation: Protocol.md.
- Qt Documentation: Qt Framework.
- Python APIs: See the
python_api
directory in the repository.