PolyTorus is a blockchain project designed to withstand quantum cryptography attacks by Implementing quantum-resistant cryptography algorithms alongside traditional ones.
- Quantum-Resistant Cryptography: Implements FN-DSA for quantum-resistant digital signatures.
- Dual Cryptography Support: Use both ECDSA (traditional) and FN-DSA encryption methods.
- Complete Blockchain Implementation:
- Block creation and mining with proof-of-work.
- Transaction management with UTXO model.
- Wallet creation and management.
- Blockchain state persistence using sled database.
- Networking Capabilities:
- Peer-to-peer networking using TCP.
- Message broadcasting and handling.
- Web Interface
- CLI Interface
- Develop a quantum-resistant public blockchain
- Utilize quantum-resistant cryptography such as Falcon
- Implement a secure and efficient network and wallet
- Explore novel consensus algorithms
- Conduct formal verification of the blockchain's security
- Rust 1.56 or later
- Cargo
- Clone the repository:
git clone https://github.com/PolyTorus/polytorus.git
cd polytorus
- Build the project:
cargo build --release
- Run the project:
./target/release/polytorus
- Create a new wallet:
cargo run createwallet [ECDSA | FNDSA]
- List all wallet addresses:
cargo run listaddresses
- Create a new Blockchain with genesis block:
cargo run createblockchain <address>
- Check balance of an address:
cargo run balance <address>
- Print all blocks in the chain
cargo run printchain
- Reindex UTXO set:
cargo run reindex
In this project, rustfmt
and clippy
will be run at PR merge time, and unified code will be added to the main
branch. Therefore, you are free to use your own code formatter and linter.
When building a PR, it may be easier for others to help if you issue an Issue first. Please consider submitting an Issue first.
Other rules are not yet strictly defined. We are also looking for people to decide the rules for CONTRIBUTING!
This project is licensed under the MIT License - see the LICENSE file for details.