• Stars
    star
    123
  • Rank 279,796 (Top 6 %)
  • Language
    Scala
  • License
    Apache License 2.0
  • Created about 3 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Programming language for distributed systems & p2p

Aqua

release npm

Aqua is an open-source language for distributed workflow coordination in p2p networks. Aqua programs are executed on many peers, sequentially or in parallel, forming a single-use coordination network. Applications are turned into hostless workflows over distributed function calls, which enables various levels of decentralization: from handling by a limited set of servers to complete peer-to-peer architecture by connecting user devices directly. Aqua is the core of the Fluence protocol and a framework for internet or private cloud applications.

Usage

The easiest way to use Aqua is through Fluence CLI with aqua command.

Other ways of using Aqua are described in USAGE.md.

Documentation

Comprehensive documentation and usage examples as well as a number of videos can be found in Aqua Book. Aqua Playground demonstrates how to start writing Aqua and integrate it into a TypeScript application. Numerous videos are available at our YouTube channel.

Repository Structure

  • api - Aqua API for JS
  • aqua-run - Aqua API to run functions
  • backend - compilation backend interface
  • compiler - compiler as a pure function made from linker, semantics and backend
  • model - middle-end, internal representation of the code, optimizations and transformations
    • transform - optimizations and transformations, converting model to the result, ready to be rendered
    • test-kit - tests and test helpers for the model and transformations
  • linker - checks dependencies between modules, builds and combines an abstract dependencies tree
  • parser - parser, takes source text and produces a source AST
  • semantics - rules to convert source AST into the model
  • types - data types, arrows, stream types definitions and variance

Support

Please, file an issue if you find a bug. You can also contact us at Discord or Telegram. We will do our best to resolve the issue ASAP.

Contributing

Any interested person is welcome to contribute to the project. Please, make sure you read and follow some basic rules.

License

All software code is copyright (c) Fluence Labs, Inc. under the Apache-2.0 license.

More Repositories

1

nox

Rust implementation of the Fluence network peer
Rust
621
star
2

dev-rewards

Python
398
star
3

marine

Marine runs multi-module WebAssembly applications with interface-types and shared-nothing linking scheme
Rust
185
star
4

aquavm

AquaVM interprets AIR – a Ο€-calculus-derived set of instructions that the Aqua language compiles to
Rust
96
star
5

cli

CLI tool to help develop services for Fluence
TypeScript
88
star
6

examples

Quickstart with Fluence, Aqua, and Marine
Rust
74
star
7

js-client

JS Client to Fluence Network
TypeScript
66
star
8

sqlite

SQLite fork ported to WebAssembly
C
49
star
9

tendermint-demo

Tendermint Verifiable Computations and Storage Demo
Scala
23
star
10

crypto

Cryptography for Scala and Scala.js
Scala
21
star
11

fRPC-Substrate

Fluence's fRPC Substrate is a starter kit that includes all the components you need to quickly enable your dAPP with decentralized RPC using existing centralized RPC providers, e.g., Infura, Alchemy, QuickNode, etc., without touching your existing frontend Web3 code.
Rust
20
star
12

registry

Register and discover services via Aqua
Rust
16
star
13

trust-graph

Rust
15
star
14

aqua-ipfs

IPFS API bindings for Aqua scripts
Rust
15
star
15

rfcs

Proposals and specs
15
star
16

marine-rs-sdk

Rust backend sdk for the Fluence network
Rust
14
star
17

deal

TypeScript
13
star
18

codec

Pure bijection-like codecs library
Scala
10
star
19

nox-distro

The distributive and packaging of the Fluence node
Dockerfile
10
star
20

aquaduct

The Aqua Duct Tape for Cloudless Functions πŸŒŠπŸ¦†πŸ©Ή
JavaScript
10
star
21

fluent-pad

No longer maintained. Exists for teaching purposes.
TypeScript
9
star
22

p2p-fileshare

Elm
9
star
23

ops

Infrastructure in code and other ops things
HCL
7
star
24

fluid

Decentralized twitter-like feed built with Fluence
TypeScript
7
star
25

dashboard

Fluence Network dashboard
Elm
7
star
26

ethdenver-2023

6
star
27

dcc-wg

Distributed Choreography and Composition Working Group
6
star
28

aqua-vscode

Aqua syntax highlighting for VSCode
TypeScript
6
star
29

decider

Rust
6
star
30

Sustainable-Blockchain-Hackathon-2022

Sustainable Blockchain Virtual Hackathon 2022 with Fluence
6
star
31

aqua-lib

Standard library for aqua language
6
star
32

aqua-tests

Integration tests for Aqua compiler
TypeScript
5
star
33

marine-rs-sdk-test

SDK for testing apps built with marine-rs-sdk
Rust
5
star
34

capacity-commitment-prover

Rust
5
star
35

ethdenver-hackathon

This repo is deprecated, go to https://github.com/fluencelabs/examples for up-to-date examples
Rust
4
star
36

aqua-book

4
star
37

dao

JavaScript
4
star
38

Sovereign-Data-Hackathon

Help build shared, open infrastructure to power self-sovereign data, a hackathon led by Ceramic, supported by Fluence
4
star
39

multi-module-example

Example of multi-module project for FCE
Rust
3
star
40

fluence-network-environment

TypeScript
3
star
41

gitbook-docs

Sync of Fluence Gitbook developer documentation
3
star
42

devcontainer

Ready development environment
Shell
3
star
43

frank

Fluence Wasm virtual machine
Scala
3
star
44

effectors

Rust
3
star
45

wasm-module-name

Console utility to show and change Wasm module names
Rust
3
star
46

hackethberlin

Metaprogramming for Ethereum Smart Contracts expressed in Scala's Type System
Scala
3
star
47

assemblyscript-sdk

Helper functions for writing Fluence module
TypeScript
3
star
48

fluence-nodejs-template

TypeScript
3
star
49

c-backend-sdk

Backend SDK for C and C++
C++
3
star
50

crossmodule

Cross-module interaction between WASM modules written on AssemblyScript
TypeScript
2
star
51

slides

Slides from various Fluence talks
2
star
52

scala-multiaddr

Scala
2
star
53

carousel

Continuous delivery of Nox
HCL
2
star
54

fluence-fendermint

Rust
2
star
55

Gitcoin-GR12-Hackathon

2
star
56

c-template

Template for C backends
C
2
star
57

fldist-deprecated

Fluence CLI tool for service deployment & inspection
JavaScript
2
star
58

hack-the-system

Support repo for all things Hack The System 2021
2
star
59

eip712-validation-node

TypeScript
2
star
60

Web3-infinity-hackathon

Fluence is supporting a 6-weeks online hackathon in summer 2022 organized by IPFS/Filecoin and FIL Singapore
2
star
61

threads.js

Fork of threads.js npm package
TypeScript
2
star
62

Polygon-Buildit-2022

Summer 2022 Hackathon with Fluence And Polygon
1
star
63

Browser3000-Hackathon

Fluence Aqua P2P Integration Challenge
1
star
64

trust-graph-test

Rust
1
star
65

spell

Spell describes and implements stateful recurring execution on Fluence p2p network
Rust
1
star
66

deployment

Deployment packages and examples
Shell
1
star
67

ipc-load-test

Load testing for Fluence IPC infrastructure
Jupyter Notebook
1
star
68

network-explorer

Explorer for Fluence network
TypeScript
1
star
69

HackFS-2022

HackFS 2022 Hackathon
1
star
70

registry-demo

TypeScript
1
star
71

website

Fluence static website
CSS
1
star
72

assemblyscript-dice

TypeScript
1
star
73

signature-connector

Connector for AssemblyScript projects to signature checker module
TypeScript
1
star
74

smartcontracts

JavaScript
1
star
75

subrosy

Subnet monitoring infrastructure
TypeScript
1
star
76

docs

Fluence Docs
JavaScript
1
star
77

tendermint-research

Research artifacts and tools for Tendermint
Scala
1
star
78

indexer_workshop

JavaScript
1
star
79

HackFS-2021

1
star
80

marine-book

1
star
81

github-actions

JavaScript
1
star
82

vgroup

Experiments with Cgroups and Tokio Threads
Rust
1
star
83

ansible

Ansible collection for Fluence Providers
Python
1
star
84

db-connector

Connector for AssemblyScript projects to database modules
TypeScript
1
star