Programming on Orbis

Programming on Orbis
Orbis aims to provide a developer experience largely compatible with the Cardano developer experience for writing L1 dapps. Dapp development on Cardano is based on the extended UTxO (eUTxO) model. The eUTxO model allows for architecting dapps that can scale to massive levels of throughput. Orbis will be built on an eUTxO data model that is isomorphic primarily to the data model on which Cardano is built. The core abstract data models are the same, but several differences exist.
Orbis features transaction types that are not present on Cardano and handle sending funds to Orbis from Cardano and back. Staking primitives appear in the Cardano eUTxO model but not the Orbis eUTxO model.
Another significant difference between the eUTxO model implementations of Cardano and Orbis is the representation of scripts. In Cardano, scripts are represented on-chain as Untyped Plutus Core (UPLC) bytecode. In Orbis, scripts are represented on-rollup as TinyRAM object code. By representing on-rollup scripts as TinyRAM object code instead of UPLC bytecode, Orbis will allow more efficient compilers targeting Orbis scripts. The core reason for selecting TinyRAM object code as the scripting language is that TinyRAM is amenable to efficient arithmetization. Another benefit of using TinyRAM object code as the scripting language is that TinyRAM is a suitable compilation target for all general-purpose programming languages.