import {Fluence, KeyPair} from "@fluencelabs/fluence";
import { krasnodar } from "@fluencelabs/fluence-network-environment";
import {registerNodeProvider, createResource, registerProvider, resolveProviders} from "./generated/export";
import assert from "assert";
// create the first peer and connect it to the network
await Fluence.start({ connectTo: krasnodar[1] });
"π created a fluence peer %s with relay %s",
Fluence.getStatus().peerId,
Fluence.getStatus().relayPeerId
console.log("Will create resource with label:", label);
let [resource_id, create_error] = await createResource(label);
assert(resource_id !== null, create_error.toString());
console.log("resource %s created successfully", resource_id);
let node_provider = krasnodar[4].peerId;
let service_id = "identity";
let [node_success, reg_node_error] = await registerNodeProvider(node_provider, resource_id, value, service_id);
assert(node_success, reg_node_error.toString());
console.log("node %s registered as provider successfully", node_provider);
let [success, reg_error] = await registerProvider(resource_id, value, service_id);
console.log("peer %s registered as provider successfully", Fluence.getStatus().peerId);
assert(success, reg_error.toString());
let [providers, error] = await resolveProviders(resource_id, 2);
// as a result we will see two providers records
console.log("resource providers:", providers);
main().then(() => process.exit(0))