ArmSim is a Liquidity Agent-Based Simulator designed to simulate the Ark Protocol's liquidity requirements for operating an Ark Server effectively. The simulator aims to provide a robust framework for replicating real-world payment systems, enabling accurate modeling and analysis of the liquidity needs for seamless payment processing.
ArmSim focuses on maintaining simplicity while ensuring a high level of realism, requiring only the essential configurations necessary for real-world payment simulations. By replicating real-life scenarios, it provides valuable insights into liquidity dynamics, enabling operators to optimize Ark Protocol deployments under varying conditions.
- Realistic Payment Simulations: Models user behavior, transaction flows, and liquidity demand in real-world-like payment systems.
- Ark Protocol Focused: Tailored specifically to simulate the unique requirements of the Ark Protocol's liquidity management.
- Simplified Setup: Designed to minimize setup complexity while maximizing simulation accuracy.
-
ArkSim.jl: This is the Orchestrator, tasked with initializing and overseeing the operation of the Simulation System.
-
Provider.jl: This is the Ark Server, the primary entity being analyzed in the simulation.
-
User.jl: These are the Agent-Based Users of the system, modeled to closely resemble real-life behavior and interactions.
Follow these steps to ensure you have everything configured correctly.
Before running the project, ensure you have the following installed:
- Julia: Download and install Julia from Julia's official website.
- Git: Install Git if you need to clone the project repository.
If the project is hosted in a version control system like GitHub or GitLab, clone it using:
git clone [email protected]:aruokhai/ark-sim.git
cd arksim
Navigate to the project directory and start the Julia REPL by typing:
julia
Activate the project's environment by running the following commands in the Julia REPL:
using Pkg
Pkg.activate(".")
To install all the required packages for the project, run:
Pkg.instantiate()
After setting up the environment, you can run the main script or entry point of the project. For example:
include("main.jl")
Alternatively, you can run the project directly from the command line:
julia --project=. main.jl
run tests:
using Pkg
Pkg.test()
- Missing Dependencies: Ensure that
Project.toml
andManifest.toml
are present in the project directory. If dependencies are still missing, try running:Pkg.resolve()
- Julia Version Compatibility: Check the
compat
section inProject.toml
to ensure you're using a compatible Julia version.
If you wish to contribute to the project:
- Fork the repository.
- Create a new branch for your changes.
- Submit a pull request with a description of your changes.