Skip to main content

ReactVM

ReactVM is a specialized type of EVM (Ethereum Virtual Machine) within the Reactive Network. Its primary function is to act as an execution sandbox for Reactive Smart Contracts (RSCs), enabling transactions within blocks to occur in random order and across multiple threads. However, transaction order is maintained within each ReactVM.

When an RSC is deployed, a corresponding ReactVM is created based on the deployer address. As a result, all contracts deployed by a single entity can freely cross-access their state.

Word of Caution

While the architecture allows for the deployment of multiple RSCs into a single ReactVM, we strongly advise against excessive use of this ability, as it may negate the advantages of parallelized execution. Instead, consider subscribing to the events of other RSCs in a manner similar to subscribing to Origin events.

Reactive Network Lifecycle

From a technical standpoint, a ReactVM functions as its own EVM subnet within the Reactive Network, booting up whenever an event matching the RSC's subscription. While this approach implies a certain overhead, we've managed to minimize it by separating the EVM from geth, resulting in a ReactVM boot time of approximately 100μs. This value is insignificantly small in relation to the Network's processing capabilities.