-- Default public interface of Fluence nodes alias Field : []string alias Argument : []string alias Bytes : []u8 alias PeerId : string data Service: id: string blueprint_id: string owner_id: string data FunctionSignature: arguments: []Argument name: string output_types: []string data RecordType: fields: []Field id: u64 name: string data Interface: function_signatures: []FunctionSignature record_types: []RecordType data Info: external_addresses: []string data ModuleConfig: name: string data Module: name: string hash: string config: ModuleConfig data AddBlueprint: name: string dependencies: []string data Blueprint: id: string name: string dependencies: []string data ScriptInfo: id: string src: string failures: u32 interval: string owner: string data Contact: peer_id: string addresses: []string service Op("op"): -- does nothing noop() -- takes any number of arguments and wraps them into a single array array(a: string, b: string, c: string) -> []string -- takes any number of arrays and flattens them by concatenating concat(a: []string, b: []string, c: []string) -> []string -- takes a single argument and returns it back identity(s: ?string) -> ?string string_to_b58(s: string) -> string string_from_b58(b: string) -> string bytes_to_b58(bs: []u8) -> string bytes_from_b58(b: string) -> []u8 -- Applies SHA256 to the given string -- Argument: s - string to apply sha256 to -- Returns: returns sha256 multihash encoded as base58 sha256_string(s: string) -> string service Peer("peer"): -- Checks if there is a direct connection to the peer identified by a given PeerId -- Argument: PeerId – id of the peer to check if there's a connection with -- Returns: bool - true if connected to the peer, false otherwise is_connected(peer: PeerId) -> bool -- Initiates a connection to the specified peer -- Arguments: -- PeerId – id of the target peer -- [Multiaddr] – an array of target peer's addresses -- Returns: bool - true if connection was successful connect(id: PeerId, multiaddrs: []string) -> bool -- Resolves the contact of a peer via Kademlia -- Argument: PeerId – id of the target peer -- Returns: Contact - true if connection was successful get_contact(peer: PeerId) -> Contact -- Get information about the peer identify() -> Info -- Get Unix timestamp in milliseconds timestamp_ms() -> u64 -- Get Unix timestamp in seconds timestamp_sec() -> u64 service Kademlia("kad"): -- Instructs node to return the locally-known nodes -- in the Kademlia neighborhood for a given key neighborhood(key: PeerId, already_hashed: bool) -> []PeerId -- Merges given lists and sorts them by distance to target -- Arguments: -- target – base58 string; result is sorted by XOR distance to target -- left – list of base58 strings -- right – list of base58 strings -- count – how many items to return -- Returns: list of base58 strings sorted by distance to target; list will contain at most count elements merge(target: string, left: []string, right: []string, count: u32) -> []string service Srv("srv"): -- Used to create a service on a certain node -- Arguments: -- blueprint_id – ID of the blueprint that has been added to the node specified in the service call by the dist add_blueprint service. -- Returns: service_id – the service ID of the created service. create(blueprint_id: string) -> string -- Used to remove a service from a certain node -- Arguments: -- service_id – ID of the service to remove remove(service_id: string) -- Returns a list of services running on a peer list() -> []Service -- Adds an alias on service, so, service could be called -- not only by service_id but by alias as well. -- Argument: -- alias - settable service name -- service_id – ID of the service whose interface you want to name. add_alias(alias: string, service_id: string) -- Resolves given alias to a service id -- If there's no such alias, throws an error -- Returns: service id associated with the given alias resolve_alias(alias: string) -> string -- Retrieves the functional interface of a service running -- on the node specified in the service call -- Argument: service_id – ID of the service whose interface you want to retrieve. get_interface(service_id: string) -> Interface service Dist("dist"): -- Used to add modules to the node specified in the service call -- Arguments: -- bytes – a base64 string containing the .wasm module to add. -- config – module info -- Returns: blake3 hash of the module add_module(wasm_b56_content: Bytes, conf: ModuleConfig) -> string -- Get a list of modules available on the node list_modules() -> []Module -- Get the interface of a module get_interface(module_id: string) -> Interface -- Used to add a blueprint to the node specified in the service call add_blueprint(blueprint: AddBlueprint) -> string -- Used to get the blueprints available on the node specified in the service call. -- A blueprint is an object of the following structure list_blueprints() -> []Blueprint service Script("script"): -- Adds the given script to a node add(air_content: string, run_every: string) -> string -- Removes recurring script from a node. Only a creator of the script can delete it remove(script_id: string) -> bool -- Returns a list of existing scripts on the node. -- Each object in the list is of the following structure list() -> ScriptInfo