Skip to content
This repository was archived by the owner on Oct 28, 2022. It is now read-only.

Scilla Backend Design

Vaivaswatha N edited this page Dec 5, 2018 · 13 revisions

Components and Interaction

                                     +----------------------+
                                    |   Blockchain Smart   |
                                    |   Contract Module    |
                                    |    in C++ (BC)       |
                                    +----------------------+

                                       +         state variable
                                       |             +    ^
                            foo.scilla |             |    |
                                       |        fetch|    |
                                       |             |    |update
                                       |             v    |
                                       v
+--------------------------------------+---------------------------------+
|                                                                        |
|                           +-------------+      +----------------+      |
|       +-----------------+ |JIT Driver   | +--> | Scilla Run-time|      |
|       |                   |in C++ (JITD)|      | Library in C++ |      |
|       |                   +-+-------+---+      |  (SRTL)        |      |
|       |                     |       ^          +----------------+      |
|       |                     |       |                                  |
|       |           foo.scilla|       |                                  |
|       |                     | foo.ll|                                  |
|       |                     |       |                                  |
|       |                     v       |                                  |
|       |                  +--+-------+----+                             |
|       |                  |Scilla Compiler|                             |
|       |                  |in OCaml (SC)  |                             |
|       |                  +---------------+                             |
|       |                                                                |
|       |                                                                |
|       |                                                                |
|       |                                   Scilla Virtual Machine       |
|       v                                   in OCaml & C++ (SVM)         |
| +-----+-------+                                                        |
| |  JIT Cache  |                                                        |
| +-------------+                                                        |
|                                                                        |
+------------------------------------------------------------------------+


Clone this wiki locally