Koinos 1.1.0: State Receipts & System Call RPC

Andrew Levine
Koinos Group
Published in
3 min readJul 25, 2023

--

We’re excited to announce the release of Koinos Chain v1.1.0! In this update we’ll explain how these changes help make Koinos the most upgradeable blockchain in the world while enabling developers to focus on building amazing apps without having to worry about what’s going on at the blockchain level.

There are two major parts to this update;

  1. State Receipts
  2. System Call RPC

You can view the release notes here.

State Receipts

Many don’t realize that Koinos uses a totally new backing database (StateDB) which Koinos Group built from scratch to allow for minimal RAM usage, simultaneous block application and reading, parallel block application, live snapshotting capabilities, and more.

StateDB is built on the idea of “positive state deltas”; it’s a single backing database that tracks irreversible state so that it never needs to be undone. Including state deltas in block/transaction receipts allows developers to audit the state changes that get committed to the ledger. This can assist in ensuring the proper operation of their smart contracts. It also allows for a deeper understanding of the core system.

System Call RPC

Koinos has a novel design which imagines the “the blockchain” as a kernel of “system calls.” In traditional computing, a system call is a way for a computer program to interface with the operating system kernel; the core of the OS which has complete control over the entire system. Modeling Koinos off of this design is what gives it such incredible upgradeability. It was launched only with the most basic system calls and infrastructure which enables these system calls to be upgraded in-band simply by uploading a new smart contract and passing it through governance. We demonstrated this capability last month with the first in-band upgrade!

1.1.0 now includes an RPC (remote procedure call) that allows developers to invoke any system call directly including the name service. The invoke_system_call RPC allows developers of dApps and frontends to dynamically invoke system calls. One obvious and beneficial use case is dynamically retrieving contract addresses like VHP and KOIN by invoking the `name_service` contract through the system calls appropriately named get_contract_name and get_contract_address.

Koinos is more upgradeable than any other blockchain in the world because the entire system is implemented as upgradeable smart contracts. But as these “system contracts” change, so too does their address, and this could have important implications for any dApps that hardcode those addresses into their stack. We want developers to be able to focus on building amazing applications without having to worry about what’s going on at the system level which is what makes this change so exciting. This update allows their applications to continue operating as normal even as the system on which they are running on is constantly evolving and improving!

Continuous Evolution

By incorporating state deltas in receipts, we’re giving developers enhanced visibility into state changes, ensuring optimal functioning of smart contracts, and providing a deeper understanding of the Koinos core system. The new RPC adds to the fluidity of system interactions, allowing developers to focus on what matters most — creating amazing blockchain-based applications capable of scaling to the masses!

We want to empower all open source developers by enabling them to focus on building and monetizing their applications, not worrying about what’s going on at the blockchain level which is why we built KoinosPro; the ultimate SaaS platform for launching and scaling Web3 applications to the masses. To learn more about KoinosPro, go to koinos.pro.

--

--

Andrew Levine
Koinos Group

CEO of Koinos Group, inventors of Koinos, developers of Koinos Pro