What are Kernels?

Kernels can be either on-chain view functions on smart contracts, or off-chain Web2 APIs

The KRNL Operating System, kOS, transforms any on-chain or off-chain function into execution shards, called kernels. Kernels are stateless, lightweight, resilient, and independently deployable, allowing them to reside on different chains, or entirely off-chain. This is akin to npm, where developers can access pre-built libraries and integrate them seamlessly.

This ensures:

  • Kernels are not confined to any specific infrastructure, instead, they can migrate across environments through the KRNL Protocol.

  • Application decomposition into discrete kernels, improving modularity and allowing permissionless sharing across multiple applications.

  • A reduction in time to market for builders by simplifying deployment and improving responsiveness.


On-chain Kernel

Any smart contract view function that is already deployed on a blockchain network can be registered as a kernel.

// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.24;

contract OnChainKernelExample {
//...
    function getScore(address input) public view returns (uint256) {
        // logic here
    }
//...
}

Example: From the provided code above, the function of getScore(...) can be registered as on-chain kernel.


Off-chain Kernel

Any API compatible with the GET or POST method can be registered as an off-chain kernel.


How to Register Kernels?

In the following section, we will show you how to register your kernel.

If you are an on-chain service provider and wish to register your smart contract to be an on-chain kernel, select the on-chain portal.

On the other hand, if you are an off-chain service provider and wish to register your API as an off-chain kernel, select the off-chain portal.

Last updated