CleytoCoin is still under development, so some of the features listed underneath aren't yet functional. Those are marked with [Under development]
We appreciate the interest and are working towards making CleytoCoin a functional and reliable cryptocurrency, but currently it's still in it's early development stages. Feel free to give suggestions in the meantime of what you'd like to see implemented in our project!
CleytoCoin is a cryptocurrency built using the Rust programming language. This project aims to create a decentralized cryptocurrency to facilitate peer-to-peer transactions.
Follow these instructions to get your local instance of a CleytoCoin node up and running.
Ensure you have the following dependencies installed on your machine:
- Rust: Install Rust
- Cargo: Cargo is included with Rust, and will be automatically installed when you install Rust.
Clone this repository to your local machine:
git clone https://github.com/dantee-e/CleytoCoin.git
cd CleytoCoinTo build and install the project:
cargo build --releaseThis will compile the project and generate an optimized binary in the target/release directory.
Thanks to the StructOpt crate, whenever you feel in doubt about one of the features of CleytoCoin, you can use the flag --help of the CLI tool to see flags and arguments for said feature.
To start the cryptocurrency node, use the following command:
cargo run --bin node startWith the option of running the GUI:
cargo run --bin node start --guiThe server with the GUI will block the terminal, while just running the start creates a new process, which has to be killed afterwards using the kill command
The node will start and connect to the network. For now, only full nodes are available and they don't have yet the capacity for mining
To kill the node, we follow the same pattern as before:
cargo run --bin node killThe cleyto-coin-wallet CLI has two main commands: generate (to create a wallet) and send (to send transactions).
Generates a new keypair (private and public keys) for your wallet.
cargo run --bin cleyto-coin-wallet generate \
--private-key-file <private-key-file> \
--public-key-file <public-key-file> \
[-p <password>]
vbnet| Option | Description | Default |
|---|---|---|
--private-key-file |
Path where the generated private key will be stored | ./private.pem |
--public-key-file |
Path where the generated public key will be stored | ./public.pem |
-p, --password |
Optional password to encrypt your private key | none |
To send a transaction, you can use the same binary, but with the send subcommand
cargo run --bin cleyto-coin-wallet send \
--recipient-key <recipient_public_key> \
--sender-key <your_private_key> \
--amount <amount> \
[-p <password>]Or, using key files:
cargo run --bin cleyto-coin-wallet send \
--recipient-key-file <recipient_key_file> \
--sender-key-file <your_private_key_file> \
--amount <amount> \
[-p <password>]Start mining by running:
cargo run --bin cleyto-coin-miner start --mining-key <your_private_key>To stop the node, on the terminal window running your server, press CTRL+C, q or Esc
Running the server without the GUI is not yet implemented If you ran it without the GUI, use the command
cargo run --bin cleyto-coin stop # Not yet implementedTo run the tests for the project, use the following command:
cargo testThis will run all unit tests, integration tests, and any other tests defined in this project. If you wish to run with output run:
cargo test -- --nocaptureWe welcome contributions to the CleytoCoin project. If you have an idea or find a bug, please feel free to submit an issue or a pull request.
- Fork the repository
- Create a new branch (
git checkout -b feature/feature-name) - Make your changes
- Commit your changes (
git commit -m 'Add feature') - Push to your forked repository (
git push origin feature/feature-name) - Open a Pull Request