Nenjim Documentation

Table of Contents

Nenjim Documentation

1. Introduction to Nenjim

Nenjim is an innovative system that enables handling multiple versions of software packages simultaneously.

The system solves the challenge of dependencies and versioning by using unique version numbers in the naming of packages,

which ensures that multiple versions of the same software package can exist side by side without conflicts.

2. Versioning and Dependencies

Nenjim uses a method where packages are named with the version number directly in the package name. However, this is managed in so-called journals outside of the actual code, so that the Java code itself does not depend on Nenjim.

This ensures that developers do not have to worry about version conflicts, as each dependency refers precisely to the version it needs. The system ensures that all necessary modules are available and kept up to date in the background.

3. Updates and Security

Nenjim automatically monitors for updates through what are called journals. If a security vulnerability is discovered in a particular version, the developers update the journal, and all NenjimHubs will automatically fetch the new secure version, or downgrade to a previous version until an update is ready. In this way, updates are distributed quickly and efficiently throughout the entire network.

4. Payment System and Integration with AssetAZ

To support payment for software packages, Nenjim integrates with AssetAZ. This means that developers can choose to receive payment for their packages either as a one-time fee, as a subscription, or per use. All transactions are handled via cryptocurrency.

5. Backing Store and Flexibility

Nenjim provides complete flexibility regarding where data is stored. This can be via IPFS, in a local folder, or even in a database. The system is designed to be so flexible that developers can choose the solution that best fits their needs.

6. Standardized and Automated Package Management

One of the major advantages of Nenjim is that users no longer have to manually search for dependencies on the Internet. Nenjim uses a standardized method to automatically find and download packages, for example via IPFS. This means that all packages are easily accessible and can be retrieved in a consistent manner, which saves time and ensures a more streamlined experience for both developers and users.

7. Importance of Semantic Versioning

For Nenjim to function optimally, it is essential that all packages follow the principles of semantic versioning. This means that each version of a package clearly indicates whether it is a minor update, a bug fix, or a major, potentially incompatible change. By adhering to these versioning rules, Nenjim can easily and safely handle updates and ensure that the system is always stable and fully functional.

8. Integration of Plugins and Central Registry

One of the unique advantages of using Nenjim is that applications can communicate directly with the NenjimHub to find and integrate new plugins. Through a global registry, applications can search for plugins that implement specific interfaces of certain versions, making it easy to extend their functionality. This flexibility allows users to add new features or improvements, such as codecs for a video player, while also being able to see the cost of different plugins.

9. Integration with AssetAZ and Economic Activity

Nenjim is designed to be an open and free tool for managing dependencies, versioning, and the execution of software packages. The system can be used without any form of payment, and all basic features—such as local injection, dependency analysis, and dynamic classloading—are available without any economic interaction required.

However, in cases where the user wants to make their software publicly available to others—for example, by propagating packages to a registry or selling their software—a small economic cost will be associated with these actions.

To support this kind of activity, Nenjim uses the digital AssetAZ crypto token. This token is part of the broader AssetAZ platform and enables micropayments in connection with software distribution.

By using a dedicated token, a decentralized and transparent settlement mechanism is achieved, while also creating a natural connection to AssetAZ, where the entire economic infrastructure is anchored.

It is important to note that this integration does not limit the use of Nenjim in regular, non-commercial contexts, but as soon as you wish to publish and distribute software for commercial purposes—and thus also participate in registration and transaction logic—it requires the use of AssetAZ and its token.

In this way, a sustainable ecosystem is created where it is free to use and experiment, but there is a small cost for commercial activity.