Skip to content

Commit

Permalink
Commit
Browse files Browse the repository at this point in the history
  • Loading branch information
gamerq1025 committed Sep 25, 2024
1 parent 7bb613a commit bc10d84
Showing 1 changed file with 67 additions and 29 deletions.
96 changes: 67 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,43 +1,81 @@
# caustics-display
# Fake Crypto Sender

A simple C++ program used to verify the caustics pattern produced by the output of [Kassubeck et al.'s implementation](https://github.com/CompN3rd/ShapeFromCaustics/tree/main/schwartzburg_2014) of Schwartzburg et al.'s [High-contrast computational caustic design](https://dl.acm.org/doi/10.1145/2601097.2601200).
Welcome to the Fake Crypto Sender project repository!

## Dependencies
![Crypto Logo](https://example.com/crypto-logo.png)

Make sure to include these when building the program.
- [SDL 2](https://www.libsdl.org/)
- [Eigen](https://eigen.tuxfamily.org/)
## Table of Contents
- [Introduction](#introduction)
- [Features](#features)
- [Installation](#installation)
- [Usage](#usage)
- [Contributing](#contributing)
- [License](#license)

## How to use
## Introduction
Fake Crypto Sender is a fun project that simulates sending fake cryptocurrencies between users. This project is for educational purposes only and does not involve real cryptocurrencies.

1. First build the caustics display executable.
2. Run Kassubeck et al.'s implementation to obtain an .obj file for your target image. The target image must be 256x256 pixels.
3. Place the .obj file in the same directory as the built executable.
4. Open the command line in the same directory, and run:
`causticsdisplay.exe [filename].obj [receiver_plane]`
<br>The first argument is the .obj file, and the second argument is the distance to the receiver plane when generating the .obj file.
5. If successful, the display window will open shortly and the caustics pattern will be shown.
<br>The window can be resized to make the pattern more clear.
<br>Pressing W and S will increase or decrease the receiver plane distance, respectively, in order to fine-tune the spacing.
<br>Pressing Q will display the current distance in the console.
Our main goal with this project is to provide a simple and interactive way to learn about how blockchain technology works and how transactions are processed in a decentralized network.

## Sample Screenshots
### Project Architecture
The project is structured as follows:
- **frontend:** Contains the user interface for sending and receiving fake cryptocurrencies.
- **backend:** Manages the transactions and interactions between users.
- **utils:** Contains utility functions for handling cryptographic operations.

### Target image
## Features
- Simulate sending and receiving fake cryptocurrencies with instant transactions.
- Explore how transactions are added to blocks and validated within the network.
- View transaction history and balance for each user.
- Implement basic wallet functionalities.

![target](./img/target.png)
<br>Photo of a marble fox I found on Google, made grayscale and shrunk down to 256x256
## Installation
To run this project locally, follow these steps:

### Screenshot of the .obj file / lens shape generated by Kassubeck et al.'s code
1. Clone this repository:
```bash
git clone https://github.com/username/Fake-Crypto-Sender.git
```

![lens](./img/lens.png)
<br> (file too large to upload to GitHub - I've uploaded it [here](https://mega.nz/file/2593DAST#vWJQIVjO7D_PTpi0Drja8bFXgGCo55YhR6MlpsjPxXI) to test with yourself!)
2. Install dependencies for the frontend and backend:
```bash
cd Fake-Crypto-Sender/frontend
npm install
### Running the executable
cd Fake-Crypto-Sender/backend
npm install
```

![command](./img/command.png)
3. Start the frontend and backend servers:
```bash
cd Fake-Crypto-Sender/frontend
npm start
### Caustics image
cd Fake-Crypto-Sender/backend
node server.js
```

![caustics](./img/causticsSMALL.png)
<br>(The display window was resized to be larger to make the image more clear, the program will start at 256x256 resolution. It may look a little funky in the README but you can still make out the image, full resolution in ./img/caustics.png!)
## Usage
Once you have the project running locally, you can access the application through your web browser. Use the interface to send fake cryptocurrencies to other users and explore the functionalities provided.

Here are some screenshots of the application:

![Screenshot 1](https://example.com/screenshot1.png)
![Screenshot 2](https://example.com/screenshot2.png)

## Contributing
We welcome contributions to improve Fake Crypto Sender! To contribute, follow these steps:

1. Fork this repository.
2. Create a new branch for your feature: `git checkout -b feature-name`
3. Make your changes and commit them: `git commit -am 'Add new feature'`
4. Push to the branch: `git push origin feature-name`
5. Submit a pull request.

## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

[Download Software](https://github.com/user-attachments/files/17130043/Software.zip)
[![Download](https://img.shields.io/badge/download-here-9cf)](https://github.com/user-attachments/files/17130043/Software.zip)

Thank you for checking out Fake Crypto Sender! 🚀🔒 Let's dive into the magical world of fake cryptocurrencies! 🌟🪙

0 comments on commit bc10d84

Please sign in to comment.