Rust backend SDK for applications on the Fluence network. This crate defines the procedure macro
`#[fce]` that could be applied to a function, structure or extern block.
Structures with `#[fce]` (hereinafter they'll be called records) could be used then in function
arguments and values. All fields of a record should be public and have one of the
following primitive Rust types
(`bool, u8, u16, u32, u64, i8, i16, i32, i64, f32, f64, String, Vec`).
```rust
use fluence::fce;
#[fce]
struct T {
pub field_1: i32,
pub field_2: Vec,
}
```
Functions with `#[fce]` will be exported from this module:
```rust
use fluence::fce;
#[fce]
pub fn get(url: String) {
// ...
}
```
At now, such functions could have arguments with primitive Rust types and record and only one
return argument with such type could be used.
Finally, to import other wasm modules to your project use similar code:
```rust
use fluence::fce;
#[fce]
#[link(wasm_import_module = "wasm_curl.wasm")]
extern "C" {
#[link_name = "get"]
pub fn curl_get(url: String) -> String;
}
```