User:Justmoon/Contracts: Overview

From Ripple Wiki
Jump to: navigation, search

Contracts are small user-defined programs that validating nodes will execute. For obvious reasons, it's extremely important that these programs are unable to cause side effects outside of their intended API. Therefore we have to virtualize these programs in some way.



Contracts VM SFI Architecture.png


You can find more information about the different components on the following wiki pages:

  • Contracts SDK - Any tools, compilers, simulators, editors etc. used to create contracts
  • Contracts VM - The virtual environment contracts will actually execute inside of.
  • Contracts Runtime - The interface between the VM and the validating node. This includes when and in which thread contracts are executed and what API endpoints rippled exposes to them, as well as any aspects of sandboxing these endpoints.

Other information