mirror of
https://github.com/fluencelabs/fluence-js.git
synced 2025-06-28 23:31:33 +00:00
feat!: Standalone web JS Client (#243)
- Move marine-related part into FJS repo (fixes DXJ-184) - Move towards component-oriented architecture (fixes DXJ-183) - Different JS Client distros for node.js and web (fixes DXJ-185) - Update libp2p to 0.42.2 (fixes DXJ-26) - Add JS Client API (fixes DXJ-196, fixes DXJ-177, fixes DXJ-60) - Add Smoke test for JS Client web (fixes DXJ-253) --------- Co-authored-by: Anatoly Laskaris <github_me@nahsi.dev>
This commit is contained in:
12
packages/core/js-peer/aqua/node-utils.aqua
Normal file
12
packages/core/js-peer/aqua/node-utils.aqua
Normal file
@ -0,0 +1,12 @@
|
||||
data ReadFileResult:
|
||||
-- Was the call successful or not
|
||||
success: bool
|
||||
-- File content in base64 if the call was successful
|
||||
content: ?string
|
||||
-- Error message if the call was unsuccessful
|
||||
error: ?string
|
||||
|
||||
service NodeUtils("node_utils"):
|
||||
-- Read file from file system.
|
||||
-- returns file content in base64 format
|
||||
read_file(path: string) -> ReadFileResult
|
35
packages/core/js-peer/aqua/services.aqua
Normal file
35
packages/core/js-peer/aqua/services.aqua
Normal file
@ -0,0 +1,35 @@
|
||||
-- import SignResult, Sig from "@fluencelabs/aqua-lib/builtin.aqua"
|
||||
-- export SignResult, Sig
|
||||
|
||||
-- TODO:: fix this issue: https://github.com/fluencelabs/aqua-lib/issues/12
|
||||
-- and remove copy-paste
|
||||
|
||||
data SignResult:
|
||||
-- Was call successful or not
|
||||
success: bool
|
||||
-- Error message. Will be null if the call is successful
|
||||
error: ?string
|
||||
-- Signature as byte array. Will be null if the call is not successful
|
||||
signature: ?[]u8
|
||||
|
||||
-- Available only on FluenceJS peers
|
||||
-- The service can also be resolved by it's host peer id
|
||||
service Sig("sig"):
|
||||
-- Signs data with the service's private key.
|
||||
-- Depending on implementation the service might check call params to restrict usage for security reasons.
|
||||
-- By default it is only allowed to be used on the same peer the particle was initiated
|
||||
-- and accepts data only from the following sources:
|
||||
-- trust-graph.get_trust_bytes
|
||||
-- trust-graph.get_revocation_bytes
|
||||
-- registry.get_route_bytes
|
||||
-- registry.get_record_bytes
|
||||
-- registry.get_host_record_bytes
|
||||
-- Argument: data - byte array to sign
|
||||
-- Returns: signature as SignResult structure
|
||||
sign(data: []u8) -> SignResult
|
||||
|
||||
-- Given the data and signature both as byte arrays, returns true if the signature is correct, false otherwise.
|
||||
verify(signature: []u8, data: []u8) -> bool
|
||||
|
||||
-- Gets service's public key.
|
||||
get_peer_id() -> string
|
32
packages/core/js-peer/aqua/single-module-srv.aqua
Normal file
32
packages/core/js-peer/aqua/single-module-srv.aqua
Normal file
@ -0,0 +1,32 @@
|
||||
alias Bytes : []u8
|
||||
|
||||
data ServiceCreationResult:
|
||||
success: bool
|
||||
service_id: ?string
|
||||
error: ?string
|
||||
|
||||
data ReadFileResult:
|
||||
success: bool
|
||||
content: ?string
|
||||
error: ?string
|
||||
|
||||
data RemoveResult:
|
||||
success: bool
|
||||
error: ?string
|
||||
|
||||
alias ListServiceResult: []string
|
||||
|
||||
service Srv("single_module_srv"):
|
||||
-- Used to create a service on a certain node
|
||||
-- Arguments:
|
||||
-- bytes – a base64 string containing the .wasm module to add.
|
||||
-- Returns: service_id – the service ID of the created service.
|
||||
create(wasm_b64_content: string) -> ServiceCreationResult
|
||||
|
||||
-- Used to remove a service from a certain node
|
||||
-- Arguments:
|
||||
-- service_id – ID of the service to remove
|
||||
remove(service_id: string) -> RemoveResult
|
||||
|
||||
-- Returns a list of services ids running on a peer
|
||||
list() -> ListServiceResult
|
Reference in New Issue
Block a user