Distributed JS
This is a proof of concept for a JS metacircular interpreter which can encode the entire AST of a running Javascript object. It is for leveraging the work of the Secure EcmaScript project (Frozen Realms), and allowing for full orthogonal persistence of a running JS process.
This will be necessary to allow storage and transfer of a running virtual machine, and to serialize and transmit a contract object in a language-independent way for the Gravity project.
Goals
- To create a fully sandboxed and secure, javascript execution environment
- Full access to the internal function scopes
- Serialization and Deserialization of the sandbox's state
- Access to evaluation and debugging primitives, such as step, step in, step out, etc.
- Atomic transactions, commit/rollback
- Async Promise based Remote/Foreign objects (Network/Persistent/IPC)
- Promise based APIs, utilized as fully synchronous.
License
MIT © Jorge Lopez