245 lines
11 KiB
HTML
245 lines
11 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>AssetAZ Documentation</title>
|
||
<style>
|
||
body {
|
||
font-family: Arial, sans-serif;
|
||
margin: 0;
|
||
padding: 0;
|
||
background-color: #f8f9fa;
|
||
color: #333;
|
||
line-height: 1.6;
|
||
}
|
||
.container {
|
||
width: 80%;
|
||
max-width: 1000px;
|
||
margin: auto;
|
||
padding: 20px;
|
||
}
|
||
h1, h2 {
|
||
color: #0056b3;
|
||
}
|
||
.section {
|
||
margin-bottom: 40px;
|
||
}
|
||
.highlight {
|
||
background-color: #e7f1ff;
|
||
padding: 10px;
|
||
border-left: 4px solid #0056b3;
|
||
margin-top: 20px;
|
||
}
|
||
.footer {
|
||
text-align: center;
|
||
padding: 20px;
|
||
border-top: 1px solid #ddd;
|
||
margin-top: 40px;
|
||
color: #777;
|
||
}
|
||
.token-logo {
|
||
width: 100px;
|
||
height: 100px;
|
||
}
|
||
ul.toc {
|
||
background: #e7f1ff;
|
||
padding: 16px;
|
||
margin-bottom: 40px;
|
||
border-left: 4px solid #0056b3;
|
||
list-style: none;
|
||
}
|
||
ul.toc li {
|
||
margin-bottom: 6px;
|
||
}
|
||
ul.toc a {
|
||
color: #0056b3;
|
||
text-decoration: none;
|
||
}
|
||
ul.toc a:hover {
|
||
text-decoration: underline;
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<div class="container">
|
||
<h1>AssetAZ Documentation</h1>
|
||
<ul class="toc">
|
||
<li><a href="#1-introduction-and-purpose">1. Introduction and Purpose</a></li>
|
||
<li><a href="#2-hubs-and-terminals">2. Hubs and Terminals</a></li>
|
||
<li><a href="#3-plugins-and-interfaces">3. Plugins and Interfaces</a></li>
|
||
<li><a href="#4-interaction-with-nenjim">4. Interaction with Nenjim</a></li>
|
||
<li><a href="#5-observables-and-subscribers">5. Observables and Subscribers</a></li>
|
||
<li><a href="#6-assetaz-token-and-incentives">6. AssetAZ Token and Incentives</a></li>
|
||
<li><a href="#7-peer-to-peer-and-oracles">7. Peer-to-peer and Oracles</a></li>
|
||
<li><a href="#8-user-experience">8. User Experience</a></li>
|
||
<li><a href="#9-transparency-trust-and-signed-builds">9. Transparency, Trust and Signed Builds</a></li>
|
||
<li><a href="#10-distribution-and-installation">10. Distribution and Installation</a></li>
|
||
<li><a href="#11-future-topics-todo">11. Future Topics (TODO)</a></li>
|
||
</ul>
|
||
|
||
<div class="section" id="1-introduction-and-purpose">
|
||
<h2>1. Introduction and Purpose</h2>
|
||
<p>
|
||
AssetAZ is <strong>not</strong> a finance application – it is a platform. Just like Windows is not Notepad
|
||
or Word, AssetAZ is not a budgeting app or a wallet. AssetAZ is the foundation upon which other applications
|
||
and plugins are built.
|
||
</p>
|
||
<p>
|
||
Each user (human or AI) runs their own “AssetHub” – the central system that manages all their financial
|
||
plugins and data. This means that all interaction with assets happens locally and under full user or AI
|
||
control. AssetAZ is designed as a new standard for building financial software – open, decentralized, and
|
||
flexible.
|
||
</p>
|
||
</div>
|
||
|
||
<div class="section" id="2-hubs-and-terminals">
|
||
<h2>2. Hubs and Terminals</h2>
|
||
<p>
|
||
An AssetHub runs in a single place – locally or in the cloud – and has one owner. Terminals are the devices
|
||
that access the hub: this could be mobile apps, API clients, smartwatches, or even automated agents such as
|
||
AIs. Some terminals have graphical UIs, others are completely invisible and operate only through messages or
|
||
events.
|
||
</p>
|
||
<p>
|
||
There is only <strong>one user per AssetAZHub</strong>. It is not a multi-user system, but a personal
|
||
system. Access to external systems (such as API keys) is managed in Nenjim, not inside AssetAZ.
|
||
</p>
|
||
</div>
|
||
|
||
<div class="section" id="3-plugins-and-interfaces">
|
||
<h2>3. Plugins and Interfaces</h2>
|
||
<p>
|
||
AssetAZ itself can do almost nothing. All functionality comes from plugins. A plugin can be, for example, a
|
||
wallet, a budgeting tool, or a plugin that connects to an exchange.
|
||
</p>
|
||
<p>
|
||
Plugins communicate via API modules (interfaces), which can have many different implementations. This
|
||
ensures that various components can be swapped out without breaking the whole system. A key feature of the
|
||
AssetAZ ecosystem is that <strong>interfaces survive, but implementations can die</strong>.
|
||
</p>
|
||
</div>
|
||
|
||
<div class="section" id="4-interaction-with-nenjim">
|
||
<h2>4. Interaction with Nenjim</h2>
|
||
<p>
|
||
Nenjim is responsible for fetching, configuring, and delivering instances of components. AssetAZ simply
|
||
asks Nenjim: “Give me a Bitcoin wallet.” Nenjim returns an instance that already works, because it’s
|
||
configured with, for example, the correct private key.
|
||
</p>
|
||
<p>
|
||
All configuration – such as access to external APIs – happens in Nenjim. Plugins in AssetAZ communicate
|
||
with Nenjim via lazy-loaded and versioned components. This enables side-by-side execution of old and new
|
||
versions of the same objects.
|
||
</p>
|
||
</div>
|
||
|
||
<div class="section" id="5-observables-and-subscribers">
|
||
<h2>5. Observables and Subscribers</h2>
|
||
<p>
|
||
Observables are plugins that provide information or events to others interested in receiving that
|
||
information. Those who listen to the information are called 'Subscribers'. When everything flows through
|
||
AssetAZ, it becomes possible to do centralized logging, analysis, and, for example, correct tax calculation
|
||
(FIFO, etc.).
|
||
</p>
|
||
<p>
|
||
A plugin acting as an Observable can also be a system that registers external events (such as water
|
||
temperature). Observables can also be subscribed to over P2P – an AssetAZHub can subscribe to an observable
|
||
from another hub and receive events as if they were local.
|
||
</p>
|
||
</div>
|
||
|
||
<div class="section" id="6-assetaz-token-and-incentives">
|
||
<h2>6. AssetAZ Token and Incentives</h2>
|
||
<p>
|
||
The AssetAZ token is used to pay developers, vote on decisions, and provide access to plugins and services.
|
||
When a task needs to be solved, the price is estimated in tokens. The developer is then paid in tokens and
|
||
can choose to keep them as an investment or sell them.
|
||
</p>
|
||
<p>
|
||
Tokens can also be used by users who wish to have features developed, or as a reward for contributing
|
||
knowledge, code, or data.
|
||
</p>
|
||
<p>
|
||
The token’s price is determined indirectly through the “anchors” that users set themselves – one user may
|
||
expect one token to equal one krone, while another may value it more highly. These differences create trade
|
||
and speculation on a decentralized exchange, but can also easily be traded “over the counter” (OTC).
|
||
</p>
|
||
</div>
|
||
|
||
<div class="section" id="7-peer-to-peer-and-oracles">
|
||
<h2>7. Peer-to-peer and Oracles</h2>
|
||
<p>
|
||
All AssetAZHubs run in a P2P network. This makes it possible to share services – for example, access to
|
||
wallets, sensor data, or plugins – without giving access to the actual code. You can sell oracle services,
|
||
such as measuring sea temperature every morning and making it available as an observable to other
|
||
AssetAZHubs.
|
||
</p>
|
||
<p>
|
||
This makes it possible to earn tokens on other types of assets than just financial – knowledge and data
|
||
also become assets.
|
||
</p>
|
||
</div>
|
||
|
||
<div class="section" id="8-user-experience">
|
||
<h2>8. User Experience</h2>
|
||
<p>
|
||
The user experience in AssetAZ depends 100% on the terminal and plugins you use. An AI will never use a UI,
|
||
while a human user may only use a smartwatch.
|
||
</p>
|
||
<p>
|
||
A plugin can choose to render information in many ways – it’s similar to installing a graphics card in a
|
||
computer. It translates data into something the user understands. It’s up to the terminal to present it.
|
||
</p>
|
||
</div>
|
||
|
||
<div class="section" id="9-transparency-trust-and-signed-builds">
|
||
<h2>9. Transparency, Trust and Signed Builds</h2>
|
||
<p>
|
||
All plugins are open source. The user can compile them themselves or trust builds that others have
|
||
published and cryptographically signed.
|
||
</p>
|
||
<p>
|
||
The user defines their own prioritized list of whom they trust. When a plugin needs to be installed, Nenjim
|
||
tries to find a build that matches from one of the trusted signatures.
|
||
</p>
|
||
<p>
|
||
It’s also possible to charge for signed builds, e.g., via the AssetAZ token, but this requires actively
|
||
adding a payment plugin – Nenjim has no dependency on AssetAZ unless you want it.
|
||
</p>
|
||
</div>
|
||
|
||
<div class="section" id="10-distribution-and-installation">
|
||
<h2>10. Distribution and Installation</h2>
|
||
<p>
|
||
To make AssetAZ easy to install, it can be delivered as a ready-made image with Lightwale – a minimalist,
|
||
immutable Linux system with Docker. There is only one container: Nenjim. It is configured to automatically
|
||
start AssetAZ and the relevant plugins via a single configuration file.
|
||
</p>
|
||
<p>
|
||
This makes it possible to deliver an entire hub with everything preconfigured – you just power it up.
|
||
</p>
|
||
</div>
|
||
|
||
<div class="section" id="11-future-topics-todo">
|
||
<h2>11. Future Topics (TODO)</h2>
|
||
<ul>
|
||
<li>Backup and restore via IPFS and encryption</li>
|
||
<li>Security and privacy section</li>
|
||
<li>AI as users and agents</li>
|
||
<li>Governance and community</li>
|
||
<li>User scenarios and fictional cases</li>
|
||
<li>Semver-enforcer tool and build validation</li>
|
||
<li>Further development of the observable concept</li>
|
||
<li>Fluid trust and signature replacement</li>
|
||
<li>Payment services for signed builds</li>
|
||
</ul>
|
||
</div>
|
||
|
||
<div class="footer">
|
||
<p>AssetAZ – The foundation for open, decentralized, and programmable finance.</p>
|
||
</div>
|
||
</div>
|
||
</body>
|
||
</html>
|