Home - huitemagico/kmac GitHub Wiki

kmac

Visitas Visitas Página Hits

About this doc

Home page of wiki December 31 2023 ;
Updated January 11, 2025 See KMAC System Context paragraph See Summary
Updated January 28, 2025 . Adding the "idea" project for #BetterOnStellar.
For this, see Home of podaidvac wiki

KMAC wiki

Guided tour

Guided tour of the KMAC documentation. This page assumes that the reader should follow a sequence from a broad view of the program, then try to run and test the example execution, and reviewing some implementation details.

Note: In addition to the 'Main Index' on the right side, it can be useful to open the 'Pages' option on the same Index.

Note2: Important! December 31! Final Version Deliverables.
The link above is useful also as another review order and includes the description of the proposed deliverables and a comparison of the final achievements.

Broad view

System Context

Please see the explanation of the following diagram at System Context Page System Context

What is KMAC?

KMAC is the project for building a contract, with the SOROBAN-SDK tools.
KMAC implements a Finite State Machine template with the purpose of simplifying new developments using this pattern.

Vending Machine Example

The KMAC program has implemented the template and has provided an example of using this template.

Really, we could see KMAC as three different points of view, depending of your interest:
(1) The KMAC template program, (2) the KMAC Vending Machine model application example, and (3) the KMAC user extensions feature.

KMAC program VERSION

The "production version" is 1.0.0 December 31, 2023

Developer platform

KMAC is built using Soroban,Rust-based smart contracts platform.

About the "extensibility" feature of KMAC-

KMAC provide extensible functions capabilities.
This means that you can implement other examples of systems based on Finite State Machine model, without the need to code the logic of the Finite State Machine flow. You only need to focus on programming the specific 'user' functions for your new model.

See the next image "KMAC architecture diagram" kmac Architecture Diagram

About the actors involved in KMAC

Actor use cases Actors Use Cases

About the design patterns

The KMAC project intends to utilize well-known design patterns.
The primary goal is to practice implementing these features. The intention is to provide easily understandable and reusable components through this approach. This aligns with the final goal of KMAC, which is to be an Educational Project.

For installing the environment

Please refer to kmac setup

For knowing more about the program

The steps for deepen in KMAC are:
(1) Setup the program
(2) What is KMAC-3 views
(3) KMAC Design patterns
(4) Configuring Network and identities
(5) Technical description of KMAC
(6) User Manual
(7) How to add user functions

Table of contents

At the "Main Index" (at the 'side bar' of the page) you could use it for thematical browsing of the documentation.
Also, take a look at the 'Pages' link, placed over the 'Main Index'.
For easier navigation of the documentation, you can use the table below (alphabetically ordered).

Content Link Purpose
architecture KMAC architecture Review of KMAC architecture
buyer process Vending Machine example Buyer process
dashboard dashboard How understand the output of the vending machine program
dashboard dashboard How understand the output of the vending machine program
deliverables (history of) deliverables (history) Deliverables description
deliverables page Deliverables main chapter Deliverables achieved description
finite state machine (FSM) finite state machine Finite state machine how to
flow diagram flow diagram flow diagram
functions explained functions description of (some) function of KMAC
matrix of functions matrix understand how use the matrix for build a new program
modules (of kmac) modules description of KMAC modules
network configuration modules how configure the network
identity configuration identity how configure the identities
SCF Dashboard KMAC at SCF KMAC at SCF
shell comands shell comands for the vending machine shell commands for run the vending machine example
storage management storage management how KMAC use storage
security security how KMAC deals with
soroban rust sdk soroban rust sdk instructions selected RUST instructions
sequence of transactions [valid sequence trx](https://github.com/huitemagico/kmac/wiki/Valid-Transaction-sequences valid sequence of transactions
sequence diagram sequence diagram for Vending Machine example the sequence of transactions
setup KMAC KMAC Setup how setup run and test the KMAC
summary (internal use) Summary Summary
template template the template KMAC
template template design approach the template KMAC
user transactions user transactions user functions how to
use cases-actors Actor use cases Who-is-who at KMAC approach
user Manual of KMAC KMAC User Manual "user manual"
vending machine vending machine The Vending Machine example
Vending machine FSM Diagram Vending Machine FSM Diagram
vending machine output vending machine dashboard output the vending machine output
⚠️ **GitHub.com Fallback** ⚠️