Kasia is an encrypted, decentralized, and fast peer-to-peer (P2P) messaging protocol and application. Built on top of Kaspa, Kasia ensures secure, private, and efficient communication without the need for a central server.
- Encryption: All messages are encrypted to ensure privacy and security.
- Decentralization: No central server controls the network, making it resistant to censorship and outages.
- Speed: Fast message delivery thanks to the underlying Kaspa technology.
- Open Source: The project is open-source, allowing anyone to review, modify, and contribute to the codebase.
Follow these steps to run Kasia locally on your machine.
- Git: Make sure you have the latest version of Git installed. Download Git
- Rust: Install the Rust toolchain. Install Rust
- Node.js: Download and install Node.js. Download Node.js
-
Clone the Repository
git clone https://github.com/K-Kluster/Kasia.git --recurse-submodules cd Kasia -
Install WASM Pack
cargo install wasm-pack
-
Build the Cipher WASM Package
npm run wasm:build
-
Install Kaspa WASM Files
-
Download the latest
kaspa-wasm32-sdk-v1.0.0.zipor build the WASM modules yourself.⚠️ Due to a needed feature that still isn't included within the official wasm package, you will need to use this wasm package instead. -
Extract the contents of
kaspa-wasm32-sdk/web/kaspa/*into theKasia/wasm/directory.
-
-
Install Node.js Dependencies and vendors
npm run submodule:init npm install
git submodule update --init --recursiveTo start Kasia locally, run:
npm run devYou can also configure environment variables by copying the .env.dist file to .env and modifying the variables as needed. Here are some example configurations:
# mainnet, testnet-10 or testnet-12
VITE_DEFAULT_KASPA_NETWORK=mainnet
VITE_ALLOWED_KASPA_NETWORKS=mainnet,testnet-10,testnet-12
VITE_DISABLE_PASSWORD_REQUIREMENTS=true
# info, warn, error, silent
VITE_LOG_LEVEL=info
# if unset, the public indexers will be used
VITE_INDEXER_MAINNET_URL=
VITE_INDEXER_TESTNET_URL=Note: Running testnet-12 will require downloading the wasm-sdk from a build artifact. If this is something you want to do - contact on discord for help.
For UX purposes, Kasia team built Kasia Indexer, while not required, it offers cross-device synchronization capabilities. In short, it scans the Kaspa network continuously and store the Kasia protocol messages.
For maximum sovergnty, it is recommended to run your own indexer, it has very-few hardware requirements thanks to its well-architectured design, it easily can handle 3,000 transactions per second.
The application itself only use it to retreieve data when a wallet session opens.
To allow easier on-boarding, Kluster hosts Kasia Public Infrastructure, at the time of writing, it contains:
- Kaspa nodes
- Kasia indexers
- A few other plateform utils
We welcome contributions from everyone! If you're interested in contributing to Kasia, please read our Contributing Guide for detailed instructions on how to get started.
Kasia is a Kluster's initiave operated by four individuals at the moment:
Each one of these members constitued a multisig wallet with a 3/4 signature rule. This means funds cannot move if there is no supermajority (75%) that agrees on the movement.
Infrastructure costs are published on Kluster's Discord on a monthly basis (invoices given), currently approximating $80 per month. In addition to that, we've bought an Apple developer environment (~$550) to support the upcoming iOS version.
Currently, all of the costs are supported by Kluster's members. If you appreciate this initiative and you want to help it, please consider donating to this address:
kaspa:prx5q93j3m96htms5s4rkhk3awkf86jrrkcl2ssgsqdx4thyqcfmgjpgq2rj9
This project is licensed under the ISC License. See the LICENSE file for details.
