Rollup with Fastest EVM & Stateful C++ precompiles

Rollup with Fastest EVM & Stateful C++ precompiles

Deployable rollup system for processing complex, intensive, or high-volume functions on EVM with Solidity contracts and C++ stateful pre-compiles.

The problem Rollup with Fastest EVM & Stateful C++ precompiles solves

If a game studio is launching a game with an audience of 100M users, how can they efficiently deploy millions of NFT's for access to a game at launch day in a decentralized way? The answer is they can't with any existing layer 1 or 2 solution as they exist today. Gas fees would explode, or chains would crash.

OrbiterSDK was designed to solve these throughput issues and enable blockchains to process much more complex smart contracts while being more efficient and scalable for existing deployments. The base of OrbiterSDK can process smart contracts in C++ in under 1 microsecond, at least 50x faster than any leading EVM network, with support for all EVM networks and tools.

We have built a rollup system on top of this SDK by implementing EVMOne, an EVM environment built in C++, that runs parallel to C++ stateful pre-compiles, and gives developers a scaling solution that can withstand thousands of NFT purchases/mints per second, with full support of EVM tools such as metamask, web3js, etherjs, and anything that has EVM as a basis. We integrated randomness as a precompile using our rdPoS and omnichain contracts with ZetaChain to enable target chain mints and compatibility with Ethereum, Polygon, Binance Smart Chain, and Bitcoin.

This mix of implementation provides opportunity for marketplaces and launchpads to alleviate UX issues as it pertains to gas or congestion during these peak load times, and give enterprise focused clients a means to support their larger audiences at scale, as a fully on-chain solution that can also be 100% decentralized.

This same rollup technology can be leveraged for about anything in web3. The system enables for developers to port just about anything from Web2 into a web3 system no matter how complex or intense on computation with a fully on-chain and/or decentralized stack. Games that leverage Unreal Engine 5 are also great candidates to house the server-sided logic to be validated publicly as the game engine leverages C++.

Challenges we ran into

EVMone was missing implementation for default solidity precompile functions (keccak256, ecrecover, etc) and we had to implement those as C++ Pre-compiles

Lack of documentation, requiring us to go deep into the source code of the libraries we are using from the ethereum team (evmc and evmone)

Had to properly implement EVM with revert capabilities.

We needed a blockchain faucet and implemented our own

For some reason, EVMOne/C was also rejecting some blocks on occasion
-No documentation on EVMC caused over 12hrs of unecessary debugging
-You have to setup all the variables of the evmc_message variable otherwise the VM might get confused and crash

ZetaChain Omnichain contracts oncrosschain contract calls

  • we wanted to do secondary transfers, so we had to encode that in a message and decode it in the oncrosschain call to facilitate the transfer.

View functions cant be extracted from the connected chains from omnichain, they route it through the TSS and the TSS is only triggered if you pay for a transaction... Still unresolved. We could build this with an indexer maybe?

At crunch time, when we implemented our front-end for NFT minting, our gasfee estimations went haywire. ($348M in gas!!)
-It turned out the lack of docs, our gas fee was being calculated into the negatives and caused a revert.
-We added protections against value overflow

Website isnt fully compatible with all browsers, yet...

Tracks Applied (2)

Infrastructure & Scalability Track

This infrastructure can be purposed as an L1 or L2. We have C++ pre-compiled stateful contracts capable of processing tr...Read More

ZetaChain Best Omnichain Contract

For cross-chain mints, our chain mints NFTs at volume in either a pre-compile or solidity contract, then pre-burns, and ...Read More

ZetaChain

Cheer Project

Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.

Discussion