Go to file
2021-12-06 16:36:38 +03:00
.github/workflows CI: Fix NPM link 2021-07-30 18:09:44 +03:00
.gitignore Add gitlab pipeline 2021-04-29 17:26:11 +03:00
builtin.aqua Bug: change Script.list to return an array of ScriptInfo (#17) 2021-12-06 16:36:38 +03:00
LICENSE Initial version 2021-04-29 15:22:39 +03:00
package-lock.json add missing package-lock 2021-04-29 17:36:03 +03:00
package.json Initial version 2021-04-29 15:22:39 +03:00
readme.md README: link to doc & add example 2021-07-30 15:00:01 +03:00

Aqua

Aqua is a new-gen language for distributed systems.

Aqua programs are executed on many peers, sequentially or in parallel, forming a single-use coordination network.

Aqua's runtime is heterogeneous: it includes browsers, servers, devices, all involved in solving a single task. Therefore, Aqua scripts are compiled into several targets at once, with AIR and Typescript as a default.

aqua-lib

API of the protocol-level functions in the Fluence Network.

This API is available on all peers powered by Fluence nodes, and a part of the API is available on JS/TS-based (browsers, NodeJS) peers.

Documentation

See Aqua Book.

How to use it in Aqua

Add @fluencelabs/aqua-lib to your package.json dependencies, and then in your Aqua script, import and use it:

import "@fluencelabs/aqua-lib"

-- gather Peer.identify from all nodes in the neighbourhood
func getPeersInfo() -> []Info:
    infos: *Info
    nodes <- Kademlia.neighborhood(%init_peer_id%, nil, nil)
    for node in nodes:
        on node:
            infos <- Peer.identify()
    <- infos