mirror of
https://github.com/fluencelabs/examples
synced 2025-04-25 10:42:16 +00:00
Fix getting started browser example
This commit is contained in:
parent
17a00d853f
commit
df1c275d44
27682
aqua-examples/getting-started-browser/package-lock.json
generated
27682
aqua-examples/getting-started-browser/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -3,7 +3,7 @@
|
|||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fluencelabs/fluence": "0.9.53",
|
"@fluencelabs/fluence": "0.11.0",
|
||||||
"@fluencelabs/fluence-network-environment": "1.0.10",
|
"@fluencelabs/fluence-network-environment": "1.0.10",
|
||||||
"@testing-library/jest-dom": "^5.14.1",
|
"@testing-library/jest-dom": "^5.14.1",
|
||||||
"@testing-library/react": "^11.2.7",
|
"@testing-library/react": "^11.2.7",
|
||||||
@ -45,7 +45,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@fluencelabs/aqua": "0.1.14-207",
|
"@fluencelabs/aqua": "^0.3.0-222",
|
||||||
"@fluencelabs/aqua-lib": "0.1.9",
|
"@fluencelabs/aqua-lib": "0.1.9",
|
||||||
"chokidar-cli": "^2.1.0",
|
"chokidar-cli": "^2.1.0",
|
||||||
"node-sass": "^6.0.1"
|
"node-sass": "^6.0.1"
|
||||||
|
@ -2,32 +2,33 @@ import React, { useEffect, useState } from "react";
|
|||||||
import logo from "./logo.svg";
|
import logo from "./logo.svg";
|
||||||
import "./App.scss";
|
import "./App.scss";
|
||||||
|
|
||||||
import { createClient, FluenceClient } from "@fluencelabs/fluence";
|
import { FluencePeer } from "@fluencelabs/fluence";
|
||||||
import { krasnodar } from "@fluencelabs/fluence-network-environment";
|
import { krasnodar } from "@fluencelabs/fluence-network-environment";
|
||||||
import { getRelayTime } from "./_aqua/getting-started";
|
import { getRelayTime } from "./_aqua/getting-started";
|
||||||
|
|
||||||
const relayNode = krasnodar[0];
|
const relayNode = krasnodar[0];
|
||||||
|
|
||||||
function App() {
|
function App() {
|
||||||
const [client, setClient] = useState<FluenceClient | null>(null);
|
const [peer, setPeer] = useState<FluencePeer | null>(null);
|
||||||
const [relayTime, setRelayTime] = useState<Date | null>(null);
|
const [relayTime, setRelayTime] = useState<Date | null>(null);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
createClient(relayNode)
|
const peer = new FluencePeer();
|
||||||
.then((client) => setClient(client))
|
peer.init({ connectTo: relayNode })
|
||||||
|
.then((client) => setPeer(peer))
|
||||||
.catch((err) => console.log("Client initialization failed", err));
|
.catch((err) => console.log("Client initialization failed", err));
|
||||||
}, [client]);
|
}, [peer]);
|
||||||
|
|
||||||
const doGetRelayTime = async () => {
|
const doGetRelayTime = async () => {
|
||||||
if (!client) {
|
if (!peer) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const time = await getRelayTime(client, relayNode.peerId);
|
const time = await getRelayTime(peer, relayNode.peerId);
|
||||||
setRelayTime(new Date(time));
|
setRelayTime(new Date(time));
|
||||||
};
|
};
|
||||||
|
|
||||||
const isConnected = client !== null;
|
const isConnected = peer !== null;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="App">
|
<div className="App">
|
||||||
|
@ -3,23 +3,46 @@
|
|||||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||||
* Aqua version: 0.1.9-162
|
* Aqua version: 0.3.0-222
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
import { FluenceClient, PeerIdB58 } from '@fluencelabs/fluence';
|
import { FluencePeer } from '@fluencelabs/fluence';
|
||||||
import { RequestFlowBuilder } from '@fluencelabs/fluence/dist/api.unstable';
|
import {
|
||||||
import { RequestFlow } from '@fluencelabs/fluence/dist/internal/RequestFlow';
|
ResultCodes,
|
||||||
|
RequestFlow,
|
||||||
|
RequestFlowBuilder,
|
||||||
|
CallParams,
|
||||||
|
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
|
||||||
|
|
||||||
|
|
||||||
|
// Services
|
||||||
|
|
||||||
export async function getRelayTime(client: FluenceClient, relayPeerId: string, config?: {ttl?: number}): Promise<number> {
|
|
||||||
let request: RequestFlow;
|
// Functions
|
||||||
const promise = new Promise<number>((resolve, reject) => {
|
|
||||||
const r = new RequestFlowBuilder()
|
export function getRelayTime(relayPeerId: string, config?: {ttl?: number}) : Promise<number>;
|
||||||
.disableInjections()
|
export function getRelayTime(peer: FluencePeer, relayPeerId: string, config?: {ttl?: number}) : Promise<number>;
|
||||||
.withRawScript(
|
export function getRelayTime(...args) {
|
||||||
`
|
let peer: FluencePeer;
|
||||||
(xor
|
let relayPeerId;
|
||||||
|
let config;
|
||||||
|
if (args[0] instanceof FluencePeer) {
|
||||||
|
peer = args[0];
|
||||||
|
relayPeerId = args[1];
|
||||||
|
config = args[2];
|
||||||
|
} else {
|
||||||
|
peer = FluencePeer.default;
|
||||||
|
relayPeerId = args[0];
|
||||||
|
config = args[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
let request: RequestFlow;
|
||||||
|
const promise = new Promise<number>((resolve, reject) => {
|
||||||
|
const r = new RequestFlowBuilder()
|
||||||
|
.disableInjections()
|
||||||
|
.withRawScript(
|
||||||
|
`
|
||||||
|
(xor
|
||||||
(seq
|
(seq
|
||||||
(seq
|
(seq
|
||||||
(seq
|
(seq
|
||||||
@ -48,20 +71,19 @@ export async function getRelayTime(client: FluenceClient, relayPeerId: string, c
|
|||||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
|
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
|
||||||
)
|
)
|
||||||
|
|
||||||
`,
|
`,
|
||||||
)
|
)
|
||||||
.configHandler((h) => {
|
.configHandler((h) => {
|
||||||
h.on('getDataSrv', '-relay-', () => {
|
h.on('getDataSrv', '-relay-', () => {
|
||||||
return client.relayPeerId!;
|
return peer.connectionInfo.connectedRelay ;
|
||||||
});
|
});
|
||||||
h.on('getDataSrv', 'relayPeerId', () => {return relayPeerId;});
|
h.on('getDataSrv', 'relayPeerId', () => {return relayPeerId;});
|
||||||
h.onEvent('callbackSrv', 'response', (args) => {
|
h.onEvent('callbackSrv', 'response', (args) => {
|
||||||
const [res] = args;
|
const [res] = args;
|
||||||
resolve(res);
|
resolve(res);
|
||||||
});
|
});
|
||||||
|
|
||||||
h.onEvent('errorHandlingSrv', 'error', (args) => {
|
h.onEvent('errorHandlingSrv', 'error', (args) => {
|
||||||
// assuming error is the single argument
|
|
||||||
const [err] = args;
|
const [err] = args;
|
||||||
reject(err);
|
reject(err);
|
||||||
});
|
});
|
||||||
@ -70,12 +92,12 @@ export async function getRelayTime(client: FluenceClient, relayPeerId: string, c
|
|||||||
.handleTimeout(() => {
|
.handleTimeout(() => {
|
||||||
reject('Request timed out for getRelayTime');
|
reject('Request timed out for getRelayTime');
|
||||||
})
|
})
|
||||||
if(config?.ttl) {
|
if(config && config.ttl) {
|
||||||
r.withTTL(config.ttl)
|
r.withTTL(config.ttl)
|
||||||
}
|
}
|
||||||
request = r.build();
|
request = r.build();
|
||||||
});
|
});
|
||||||
await client.initiateFlow(request!);
|
peer.internals.initiateFlow(request!);
|
||||||
return promise;
|
return promise;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
"allowJs": true,
|
"allowJs": true,
|
||||||
"skipLibCheck": true,
|
"skipLibCheck": true,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
|
"noImplicitAny": false,
|
||||||
"allowSyntheticDefaultImports": true,
|
"allowSyntheticDefaultImports": true,
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"forceConsistentCasingInFileNames": true,
|
"forceConsistentCasingInFileNames": true,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user