import { Fluence, KeyPair } from "@fluencelabs/fluence"; import { krasnodar } from "@fluencelabs/fluence-network-environment"; import { registerCalc, CalcDef } from "./_aqua/calc"; class Calc implements CalcDef { private _state: number = 0; add(n: number) { this._state += n; } subtract(n: number) { this._state -= n; } multiply(n: number) { this._state *= n; } divide(n: number) { this._state /= n; } reset() { this._state = 0; } getResult() { return this._state; } } const keypress = async () => { process.stdin.setRawMode(true); return new Promise((resolve) => process.stdin.once("data", () => { process.stdin.setRawMode(false); resolve(); }) ); }; const relay = krasnodar[0]; // generated with `npx aqua create_keypair` const skBytes = "tOpsT08fvYMnRypj3VtSoqWMN5W/AptKsP39yanlkg4="; async function main() { await Fluence.start({ connectTo: relay, KeyPair: await KeyPair.fromEd25519SK(Buffer.from(skBytes, "base64")), }); registerCalc(new Calc()); console.log("application started"); console.log("peer id is: ", Fluence.getStatus().peerId); console.log("relay is: ", Fluence.getStatus().relayPeerId); console.log("press any key to continue"); await keypress(); await Fluence.stop(); } main();