mirror of
https://github.com/fluencelabs/fluence-js.git
synced 2025-06-20 11:26:30 +00:00
node version
This commit is contained in:
@ -8,19 +8,17 @@
|
||||
"node": ">=10",
|
||||
"pnpm": ">=3"
|
||||
},
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"build": "tsc",
|
||||
"test": "ts-node src/index.ts"
|
||||
"_test": "node --loader ts-node/esm ./src/index.ts"
|
||||
},
|
||||
"repository": "https://github.com/fluencelabs/fluence-js",
|
||||
"author": "Fluence Labs",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@fluencelabs/fluence": "workspace:*",
|
||||
"@fluencelabs/js-client.api": "workspace:*",
|
||||
"@fluencelabs/js-client.node": "workspace:*"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "16.11.59",
|
||||
"typescript": "4.6.4"
|
||||
}
|
||||
"devDependencies": {}
|
||||
}
|
122
packages/@tests/smoke_node/src/_aqua/smoke_test.ts
Normal file
122
packages/@tests/smoke_node/src/_aqua/smoke_test.ts
Normal file
@ -0,0 +1,122 @@
|
||||
/**
|
||||
*
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* 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
|
||||
* Aqua version: 0.7.2-314
|
||||
*
|
||||
*/
|
||||
import type { IFluencePeer, CallParams } from '@fluencelabs/js-client.api';
|
||||
import { callFunction$$, registerService$$ } from '@fluencelabs/js-client.api';
|
||||
|
||||
// Services
|
||||
|
||||
export interface PeerDef {
|
||||
timestamp_ms: (callParams: CallParams<null>) => number | Promise<number>;
|
||||
}
|
||||
export function registerPeer(service: PeerDef): void;
|
||||
export function registerPeer(serviceId: string, service: PeerDef): void;
|
||||
export function registerPeer(peer: IFluencePeer, service: PeerDef): void;
|
||||
export function registerPeer(peer: IFluencePeer, serviceId: string, service: PeerDef): void;
|
||||
|
||||
export function registerPeer(...args: any) {
|
||||
registerService$$(args, {
|
||||
defaultServiceId: 'peer',
|
||||
functions: {
|
||||
tag: 'labeledProduct',
|
||||
fields: {
|
||||
timestamp_ms: {
|
||||
tag: 'arrow',
|
||||
domain: {
|
||||
tag: 'nil',
|
||||
},
|
||||
codomain: {
|
||||
tag: 'unlabeledProduct',
|
||||
items: [
|
||||
{
|
||||
tag: 'scalar',
|
||||
name: 'u64',
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
// Functions
|
||||
|
||||
export function getRelayTime(relayPeerId: string, config?: { ttl?: number }): Promise<number>;
|
||||
|
||||
export function getRelayTime(peer: IFluencePeer, relayPeerId: string, config?: { ttl?: number }): Promise<number>;
|
||||
|
||||
export function getRelayTime(...args: any) {
|
||||
let script = `
|
||||
(xor
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
|
||||
(call %init_peer_id% ("getDataSrv" "relayPeerId") [] relayPeerId)
|
||||
)
|
||||
(call -relay- ("op" "noop") [])
|
||||
)
|
||||
(xor
|
||||
(seq
|
||||
(call relayPeerId ("peer" "timestamp_ms") [] ts)
|
||||
(call -relay- ("op" "noop") [])
|
||||
)
|
||||
(seq
|
||||
(call -relay- ("op" "noop") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
||||
)
|
||||
)
|
||||
)
|
||||
(xor
|
||||
(call %init_peer_id% ("callbackSrv" "response") [ts])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
|
||||
)
|
||||
)
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
|
||||
)
|
||||
`;
|
||||
return callFunction$$(
|
||||
args,
|
||||
{
|
||||
functionName: 'getRelayTime',
|
||||
arrow: {
|
||||
tag: 'arrow',
|
||||
domain: {
|
||||
tag: 'labeledProduct',
|
||||
fields: {
|
||||
relayPeerId: {
|
||||
tag: 'scalar',
|
||||
name: 'string',
|
||||
},
|
||||
},
|
||||
},
|
||||
codomain: {
|
||||
tag: 'unlabeledProduct',
|
||||
items: [
|
||||
{
|
||||
tag: 'scalar',
|
||||
name: 'u64',
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
names: {
|
||||
relay: '-relay-',
|
||||
getDataSrv: 'getDataSrv',
|
||||
callbackSrv: 'callbackSrv',
|
||||
responseSrv: 'callbackSrv',
|
||||
responseFnName: 'response',
|
||||
errorHandlingSrv: 'errorHandlingSrv',
|
||||
errorFnName: 'error',
|
||||
},
|
||||
},
|
||||
script,
|
||||
);
|
||||
}
|
@ -1,23 +1,24 @@
|
||||
import "@fluencelabs/js-client.node";
|
||||
import { Fluence } from "@fluencelabs/fluence";
|
||||
import '@fluencelabs/js-client.node';
|
||||
import { Fluence } from '@fluencelabs/js-client.api';
|
||||
import { getRelayTime } from './_aqua/smoke_test.js';
|
||||
|
||||
const peer = Fluence.getPeer();
|
||||
|
||||
const main = async () => {
|
||||
await peer.start({});
|
||||
const peerId = peer.getStatus().peerId;
|
||||
if (!peerId) {
|
||||
throw new Error("Peer id is null");
|
||||
}
|
||||
console.log("peer id is: ", peerId);
|
||||
await peer.stop();
|
||||
const relay = {
|
||||
multiaddr: '/ip4/127.0.0.1/tcp/4310/ws/p2p/12D3KooWKEprYXUXqoV5xSBeyqrWLpQLLH4PXfvVkDJtmcqmh5V3',
|
||||
peerId: '12D3KooWKEprYXUXqoV5xSBeyqrWLpQLLH4PXfvVkDJtmcqmh5V3',
|
||||
};
|
||||
|
||||
main()
|
||||
.then(() => console.log("done"))
|
||||
.catch((err) => console.error(err))
|
||||
.finally(() => {
|
||||
if (peer) {
|
||||
peer.stop();
|
||||
}
|
||||
export const main = async () => {
|
||||
console.log('starting fluence...');
|
||||
await Fluence.start({
|
||||
connectTo: relay,
|
||||
});
|
||||
console.log('started fluence');
|
||||
|
||||
console.log('getting relay time...');
|
||||
const res = await getRelayTime(relay.peerId);
|
||||
console.log('got relay time, ', res);
|
||||
|
||||
console.log('stopping fluence...');
|
||||
await Fluence.stop();
|
||||
console.log('stopped fluence...');
|
||||
};
|
||||
|
Reference in New Issue
Block a user