A secure token wallet built on the Internet Computer Protocol (ICP) blockchain, utilizing Rust for secure token transfers, minting, and querying balances.
- Project Overview
- Features
- Getting Started
- Installation
- Usage
- Testing
- File Structure
- Contributing
- License
The Secure Token Wallet is a blockchain-based wallet application that enables secure, efficient token transactions on the ICP blockchain. Built with Rust, this application allows users to mint tokens, check balances, and perform transfers between accounts.
- Mint Tokens: Create tokens for a given account.
- Transfer Tokens: Securely transfer tokens between accounts.
- Query Balance: Check the balance of any account.
To run this project, you will need:
- DFX SDK (Internet Computer SDK)
- Rust programming language and package manager
- Node.js and npm (for front-end testing, if applicable)
Follow these steps to set up and run the project:
-
Clone the Repository:
git clone https://github.com/Hitesh-jadhav/Secure-Token-Wallet.git cd Secure-Token-Wallet -
Install Dependencies:
- Install Rust if not already installed:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- Install DFX SDK:
sh -ci "$(curl -fsSL https://internetcomputer.org/docs/current/developer-docs/setup/install)"
- Install Rust if not already installed:
-
Start Local Replica:
dfx start --background
-
Deploy the Canister:
dfx deploy
Once deployed, you can interact with the canisters using the following methods.
dfx canister call secure_token_wallet_backend get_balance '(principal "<principal_id>")'dfx canister call secure_token_wallet_backend transfer '(principal "<from_principal>", principal "<to_principal>", <amount>)'dfx canister call secure_token_wallet_backend mint '(principal "<principal_id>", <amount>)'To run the test suite:
-
Run Tests:
cargo test -
Verify Output: Ensure all test cases pass without errors.
Secure-Token-Wallet/
├── src/
│ ├── secure_token_wallet_backend/
│ │ ├── lib.rs # Core backend functionality
│ └── secure_token_wallet_frontend/
│ └── (Optional front-end code for interaction)
├── README.md # Documentation
└── Cargo.toml # Rust package configuration
Contributions are welcome! Please open an issue or submit a pull request for any improvements.
This project is licensed under the MIT License.