1
0
mirror of https://github.com/fluencelabs/gitbook-docs synced 2025-05-04 04:02:15 +00:00

Merge branch 'main' into marine

This commit is contained in:
boneyard93501 2021-06-11 18:47:20 -05:00 committed by GitHub
commit aebd29a3cf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 21 additions and 11 deletions

@ -1,6 +0,0 @@
# Fluence Compute Engine
[Fluence Compute Engine](https://github.com/fluencelabs/fce) \(FCE\) is a general purpose WebAssembly runtime that could be used in different scenarios, especially in programs based on the [ECS](https://en.wikipedia.org/wiki/Entity_component_system) pattern or plugin architecture. It runs multi-module Wasm applications with [interface-types](https://github.com/WebAssembly/interface-types/blob/master/proposals/interface-types/Explainer.mdhttps://github.com/WebAssembly/interface-types/blob/master/proposals/interface-types/Explainer.md) and [shared-nothing](https://en.wikipedia.org/wiki/Shared-nothing_architecture) linking scheme.
Fluence [nodes](https://github.com/fluencelabs/fluence) use FCE to execute [Aquamarine](https://github.com/fluencelabs/aquamarine) and Wasm services.

@ -1,4 +1,4 @@
# HLL # Aqua
## Aquamarine High Level Language ## Aquamarine High Level Language

@ -23,7 +23,7 @@ AIR instructions are intended to launch the execution of a service method as fol
4. The arguments specified by the argument list are passed to the method 4. The arguments specified by the argument list are passed to the method
5. The result of the method returned under the name output name 5. The result of the method returned under the name output name
**Figure 2: Sequential Instruction** ![Execution](../../.gitbook/assets/air_sequential_2%20%281%29%20%281%29%20%281%29%20%281%29.png) **Figure 2: Sequential Instruction** ![Execution](../../.gitbook/assets/air_sequential_2%20%281%29%20%281%29%20%281%29%20%281%29%20%281%29%20%282%29%20%283%29%20%284%29%20%282%29.png)
The _**seq**_ instruction takes two instructions at most as its arguments and executes them sequentially, one after the other. The _**seq**_ instruction takes two instructions at most as its arguments and executes them sequentially, one after the other.

@ -0,0 +1,16 @@
# Marine
[Marine](https://github.com/fluencelabs/marine) is a general purpose WebAssembly runtime favoring Wasm modules based on the [ECS](https://en.wikipedia.org/wiki/Entity_component_system) pattern or plugin architecture and uses Wasm [Interface Types](https://github.com/WebAssembly/interface-types/blob/master/proposals/interface-types/Explainer.mdhttps://github.com/WebAssembly/interface-types/blob/master/proposals/interface-types/Explainer.md) \( IT\) to implement a [shared-nothing](https://en.wikipedia.org/wiki/Shared-nothing_architecture) linking scheme. Fluence [nodes](https://github.com/fluencelabs/fluence) use Marine to host the Aqua VM and execute hosted Wasm services.
Todo: we could really do with diagram
The [Marine Rust SDK](https://github.com/fluencelabs/marine-rs-sdk) allows to hide the IT implementation details behind a handy procedural macro `[marine]` and provides the scaffolding for unit tests.

@ -1,6 +1,6 @@
# Marine CLI # Marine CLI
The [Marine command line tool](https://github.com/fluencelabs/marine) provides the project `marine build` functionality, analogous to `cargo build`, that results in our Rust code to be compiled to the _wasm32-wasi_ module. In addition, `marine` provides utilities to inspect Wasm modules, expose Wasm module attributes or manually set module properties. The [Marine command line tool](https://github.com/fluencelabs/marine) provides the project `marine build` functionality, analogous to `cargo build`, that results in the Rust code to be compiled to _wasm32-wasi_ modules. In addition, `marine` provides utilities to inspect Wasm modules, expose Wasm module attributes or manually set module properties.
```rust ```rust
mbp16~(:|✔) % marine --help mbp16~(:|✔) % marine --help

@ -1,6 +1,6 @@
# Marine Repl # Marine Repl
[`mrepl`](https://crates.io/crates/mrepl) is a command line tool \(CLI\) to locally run a Marine instance to inspect, run, and test Wasm modules and service configurations. We can run the Repl either with `mrepl` or `marine repl` [`mrepl`](https://crates.io/crates/mrepl) is a command line tool to locally run a Marine instance to inspect, run, and test Wasm modules and service configurations. We can run the Repl either with `mrepl` or `marine repl`
```text ```text
mbp16~(:|✔) % mrepl mbp16~(:|✔) % mrepl

@ -1,2 +1,2 @@
# VM # Aqua VM