Neo.VM is a lightweight, deterministic, stack-based virtual machine library for executing Neo smart contract bytecode, written in C# targeting .NET 10.0. It implements a complete instruction set (opcodes) for arithmetic, control flow, stack manipulation, type conversion, arrays/structs/maps, and interop (syscalls). The VM features a pluggable jump table dispatch pattern, integrated reference counting for garbage collection of cyclic object graphs, and a debugger API supporting step-into/over/out. Extensively tested with JSON-driven specification files covering edge cases, plus performance benchmarks. Published as a NuGet package, it serves as the execution engine for the Neo blockchain's smart contract runtime.
nOS Client is an Electron-based desktop application that serves as a wallet and decentralized application (dApp) browser for the NEO blockchain. It provides a virtual operating system metaphor with a built-in webview-based browser, account management, portfolio tracking, token transfers, and GAS claiming. The app integrates with the NEO network via neon-js, supports hardware wallets (Ledger) and mnemonic-based key management, and exposes a custom JavaScript API (NOS.V1) to dApps through a request processor. The codebase is organized as a standard React/Redux SPA with multiple feature modules (auth, browser, account, settings, appstore) and heavy use of higher-order components for state management. The application is feature-rich but shows its age: dependencies are heavily outdated (Electron 2.x, Webpack 3, React 16.8 with recompose), and some sections like Exchange and Favorites are incomplete placeholders. Despite this, the core wallet and dApp browsing functionalities are implemented with reasonable modularity, though the reliance on legacy patterns and unmaintained libraries makes it risky to reuse without modernization.