diff --git a/.gitbook/assets/image (1).png b/.gitbook/assets/image (1).png new file mode 100644 index 0000000..e69de29 diff --git a/.gitbook/assets/image.png b/.gitbook/assets/image.png new file mode 100644 index 0000000..e69de29 diff --git a/SUMMARY.md b/SUMMARY.md index 5edaa28..09cabc6 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -2,10 +2,18 @@ * [Anoma Overview](README.md) -## Build - ## LEARN +* [Overview](learn/overview.md) +* [What is Anoma?](learn/what-is-anoma/README.md) + * [What is an intent?](learn/what-is-anoma/what-is-an-intent.md) + * [What is a resource?](learn/what-is-anoma/what-is-a-resource.md) + * [What is a resource logic?](learn/what-is-anoma/what-is-a-resource-logic.md) + * [What is a transaction?](learn/what-is-anoma/what-is-a-transaction.md) +* [Anoma Applications](learn/anoma-applications/README.md) + * [What is an Anoma application?](learn/anoma-applications/what-is-an-anoma-application.md) + * [What is application state?](learn/anoma-applications/what-is-application-state.md) + ## Advanced * [Advanced](advanced/advanced.md) diff --git a/learn/anoma-applications/README.md b/learn/anoma-applications/README.md new file mode 100644 index 0000000..a333e60 --- /dev/null +++ b/learn/anoma-applications/README.md @@ -0,0 +1,10 @@ +--- +description: >- + From an end-user perspective, applications are what makes the intent-machine + run. The space of applications is wide open and here we mainly focus on + applications as a general concept. +icon: hammer-brush +--- + +# Anoma Applications + diff --git a/learn/anoma-applications/what-is-an-anoma-application.md b/learn/anoma-applications/what-is-an-anoma-application.md new file mode 100644 index 0000000..c8a2c9f --- /dev/null +++ b/learn/anoma-applications/what-is-an-anoma-application.md @@ -0,0 +1,19 @@ +# What is an Anoma application? + +An Anoma _application_ is a set of resource kinds and solvers. Resource kinds allow to narrow down the fragments of state that are of interest to an application; then, the solvers of an application operate on (this fragment of) state, which typically involves combining user intents into transaction objects. Thus, solvers are what makes the intent-machine work for all users. In fact, there is potentially a whole system of applications as applications may interact (directly) with each other whenever they operate on resources of the same kind. + +### Resource kind + +The resource kind fixes the resource logic and additional information that every resource of this kind carries; in this way, set of standard resource logics can be re-used for different resource kinds with similar behaviour. + +### Solver + +A solver is a specific user that is fabricating transaction objects from user intents such that the preferences for state (change) of intents are effected by state updates. + +### Application read interface: projection functions + +Projection functions constitute the application read interface: solvers use projection functions to read relevant fragments of state kept by the Anoma instance. + +### Application write interface: transaction functions + +Transaction functions constitute the application write interface: solvers use transaction functions to update the state that is maintained by the Anoma instance. diff --git a/learn/anoma-applications/what-is-application-state.md b/learn/anoma-applications/what-is-application-state.md new file mode 100644 index 0000000..0dcdb72 --- /dev/null +++ b/learn/anoma-applications/what-is-application-state.md @@ -0,0 +1,3 @@ +# What is application state? + +For applications, the core fragment of state are all resources that are known to exist and information about which ones are still spendable. Each application typically uses only a small number of resource kinds. diff --git a/learn/overview.md b/learn/overview.md new file mode 100644 index 0000000..aced517 --- /dev/null +++ b/learn/overview.md @@ -0,0 +1,13 @@ +--- +icon: globe +--- + +# Overview + +There are several perspectives on Anoma. We start by looking from the perspective of the _end-user_ and then move progressively to the perspective of application development. + +