MACI KeyChain
Welcome to the MACI Keychain App, a key management system for MACI (Minimal Anti-Collusion Infrastructure) keys and other edDSA keys (WIP). This app is designed to securely manage, store, and utilize cryptographic keys for various MACI contracts and polls.
Table of Contents
Features
- Securely manage multiple cryptographic keys.
- Derive specific keys for different MACI contracts and polls.
- Seamless integration with websites using a QR code and WebSocket connection.
- End-to-end encryption for all communications between the app and connected websites. (WIP)
- Backup keys securely to iCloud and Google Cloud. (WIP)
Installation
To run this app locally, follow these steps:
Clone the repository:
git clone https://github.com/yashgo0018/maci-key-manager-app.git cd maci-key-manager-app
Install dependencies:
Ensure you have Node.js installed.
npm install
Start the Expo app:
npx expo start
Run the app on your device:
You can use the Expo Go app on your Android or iOS device to scan the QR code generated by the Expo CLI.
Usage
Register and manage keys:
- Manage multiple keys, rename them for specific MACI contracts (WIP), and derive keys for different polls.
Connect to a website:
- Visit a MACI-enabled website that supports the MACI Keychain.
- Select the key wallet option and scan the QR code with the MACI Keychain app.
- Confirm the connection and perform actions like voting securely from your mobile device.
Repositories
This project is divided into several repositories:
- MACI KeyChain Server: GitHub Link
- Demo Webapp (MACI Wrapper Based Implementation): GitHub Link
- Keychain Application: GitHub Link
- Deployment Scripts: GitHub Link
Contributing
We welcome contributions to the MACI Keychain App. If you have any ideas, suggestions, or bug reports, please open an issue or submit a pull request.
- Fork the repository.
- Create a new branch:
git checkout -b feature/YourFeature
- Commit your changes:
git commit -m 'Add some feature'
- Push to the branch:
git push origin feature/YourFeature
- Open a pull request.
Thank you for using the MACI Keychain App! If you have any questions or need further assistance, please feel free to open an issue in the repository.