Crates.io | kalatori |
lib.rs | kalatori |
version | 0.3.0 |
source | src |
created_at | 2024-11-29 08:42:33.392359 |
updated_at | 2024-11-29 08:42:33.392359 |
description | A gateway daemon for Kalatori. |
homepage | https://github.com/Alzymologist/Kalatori-backend |
repository | https://github.com/Alzymologist/Kalatori-backend |
max_upload_size | |
id | 1465301 |
size | 394,439 |
!!! KALATORI IS IN PUBLIC BETA !!!
Kalatori is an open-source daemon designed to enable secure and scalable blockchain payment processing. Licensed under GPLv3 (LICENSE), Kalatori currently supports assets on the Polkadot relay chain and its parachains.
The daemon derives unique accounts for each payment using a provided seed phrase and outputs all payments to a specified recipient wallet. It also offers limited transaction tracking for order management. Kalatori operates in a multithreaded mode and supports multiple currencies configured in a simple TOML-based configuration file.
Client facing frontends can communicate with Kalatori leveraging exposed API described in the API documentation.
Download the latest Docker container or x86-64 release from the GitHub releases page.
To compile the daemon, ensure you have the latest stable version of the Rust compiler installed. Then, run:
cargo build --release --workspace
The compiled binaries will be located in the target/release
path.
chopsticks
: Contains configuration files for the Chopsticks tool and a Docker Compose setup for spawning Polkadot and AssetHub test chains.configs
: Contains configuration files for supported chains and assets.docs
: Includes project documentation.src
: The source code for the Kalatori daemon.tests
: Black-box test suite with a Docker Compose setup for testing the daemon.Dockerfile
: Instructions for building a Docker image of the daemon.For Polkadot and Asset Hub chains, the configuration file should look like this:
account-lifetime = 604800000 # 1 week.
debug = true
depth = 86400000 # 1 day.
[[chain]]
name = "polkadot"
native-token = "DOT"
decimals = 10
endpoints = [
"wss://rpc.polkadot.io",
"wss://1rpc.io/dot",
]
[[chain]]
name = "statemint"
endpoints = [
"wss://polkadot-asset-hub-rpc.polkadot.io",
"wss://statemint-rpc.dwellir.com",
]
[[chain.asset]]
name = "USDC"
id = 1337
[[chain.asset]]
name = "USDt"
id = 1984
Kalatori requires the following environment variables for configuration:
KALATORI_HOST
: Address for the daemon's TCP socket server.KALATORI_SEED
: Seed phrase for account derivation.KALATORI_CONFIG
: Path to the chain configuration file in the configs directory.KALATORI_RECIPIENT
: The hexadecimal address to which received payments will be transferred.KALATORI_REMARK
: A string added to the transaction's remark field.Run Kalatori for the Polkadot chain:
KALATORI_HOST="127.0.0.1:16726" \
KALATORI_CONFIG="configs/polkadot.toml" \
KALATORI_SEED="bottom drive obey lake curtain smoke basket hold race lonely fit walk" \
KALATORI_RECIPIENT="5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY" \
KALATORI_REMARK="test" \
kalatori
The black-box test suite verifies the daemon's functionality by interacting with a running instance. Use the following steps to set it up:
cd tests
docker-compose up
ct tests/kalatori-api-test-suite
yarn
yarn test
Ensure the DAEMON_HOST
environment variable points to the running daemon (default: localhost:16726
).
For more details, refer to the testing suite README.md.
We welcome contributions! Please refer to the CONTRIBUTING.md file for guidelines on contributing and submitting pull requests.
Kalatori is open-source software licensed under the GPLv3 License. See the LICENSE file for more details.
Join the discussion and get support on:
Refer to the Kalatori project board and milestones for the current roadmap and upcoming features.