2022-02-09 15:17:24 +03:00
|
|
|
import { Fluence, KeyPair } from "@fluencelabs/fluence";
|
2021-09-12 00:51:50 +03:00
|
|
|
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<void>((resolve) =>
|
|
|
|
process.stdin.once("data", () => {
|
|
|
|
process.stdin.setRawMode(false);
|
|
|
|
resolve();
|
|
|
|
})
|
|
|
|
);
|
|
|
|
};
|
|
|
|
|
2022-02-09 15:17:24 +03:00
|
|
|
const relay = krasnodar[0];
|
|
|
|
// generated with `npx aqua create_keypair`
|
|
|
|
const skBytes = "tOpsT08fvYMnRypj3VtSoqWMN5W/AptKsP39yanlkg4=";
|
|
|
|
|
2021-09-12 00:51:50 +03:00
|
|
|
async function main() {
|
|
|
|
await Fluence.start({
|
2022-02-09 15:17:24 +03:00
|
|
|
connectTo: relay,
|
|
|
|
KeyPair: await KeyPair.fromEd25519SK(Buffer.from(skBytes, "base64")),
|
2021-09-12 00:51:50 +03:00
|
|
|
});
|
|
|
|
|
|
|
|
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();
|