-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
7bb613a
commit bc10d84
Showing
1 changed file
with
67 additions
and
29 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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! 🌟🪙 |