JS API Reference

Class: GolemNetwork

golem-network/golem-network.GolemNetwork

General purpose and high-level API for the Golem Network

This class is the main entry-point for developers that would like to build on Golem Network using @golem-sdk/golem-js. It is supposed to provide an easy access API for use 80% of use cases.

Table of contents

Constructors

Properties

Methods

Constructors

constructor

new GolemNetwork(options?): GolemNetwork

Parameters

NameType
optionsPartial<GolemNetworkOptions>

Returns

GolemNetwork

Defined in

src/golem-network/golem-network.ts:229

Properties

events

Readonly events: EventEmitter<GolemNetworkEvents, any>

Defined in

src/golem-network/golem-network.ts:198


options

Readonly options: GolemNetworkOptions

Defined in

src/golem-network/golem-network.ts:200


market

Readonly market: MarketModule

Defined in

src/golem-network/golem-network.ts:206


payment

Readonly payment: PaymentModule

Defined in

src/golem-network/golem-network.ts:207


activity

Readonly activity: ActivityModule

Defined in

src/golem-network/golem-network.ts:208


network

Readonly network: NetworkModule

Defined in

src/golem-network/golem-network.ts:209


rental

Readonly rental: RentalModule

Defined in

src/golem-network/golem-network.ts:210


services

Readonly services: GolemServices

Dependency Container

Defined in

src/golem-network/golem-network.ts:215

Methods

connect

connect(): Promise<void>

"Connects" to the network by initializing the underlying components required to perform operations on Golem Network

Returns

Promise<void>

Resolves when all initialization steps are completed

Defined in

src/golem-network/golem-network.ts:322


disconnect

disconnect(): Promise<void>

"Disconnects" from the Golem Network

Returns

Promise<void>

Resolves when all shutdown steps are completed

Defined in

src/golem-network/golem-network.ts:358


oneOf

oneOf(options): Promise<ResourceRental>

Define your computational resource demand and access a single instance

Use Case: Get a single instance of a resource from the market to execute operations on

Parameters

NameType
optionsOneOfOptions

Returns

Promise<ResourceRental>

Example

const rental = await glm.oneOf({ order });
await rental
 .getExeUnit()
 .then((exe) => exe.run("echo Hello, Golem! 👋"))
 .then((res) => console.log(res.stdout));
await rental.stopAndFinalize();

Defined in

src/golem-network/golem-network.ts:425


manyOf

manyOf(options): Promise<ResourceRentalPool>

Define your computational resource demand and access a pool of instances. The pool will grow up to the specified poolSize.

Parameters

NameType
optionsManyOfOptions

Returns

Promise<ResourceRentalPool>

Example

// create a pool that can grow up to 3 rentals at the same time
const pool = await glm.manyOf({
  poolSize: 3,
  demand
});
await Promise.allSettled([
  pool.withRental(async (rental) =>
    rental
      .getExeUnit()
      .then((exe) => exe.run("echo Hello, Golem from the first machine! 👋"))
      .then((res) => console.log(res.stdout)),
  ),
  pool.withRental(async (rental) =>
    rental
      .getExeUnit()
      .then((exe) => exe.run("echo Hello, Golem from the second machine! 👋"))
      .then((res) => console.log(res.stdout)),
  ),
  pool.withRental(async (rental) =>
    rental
      .getExeUnit()
      .then((exe) => exe.run("echo Hello, Golem from the third machine! 👋"))
      .then((res) => console.log(res.stdout)),
  ),
]);

Defined in

src/golem-network/golem-network.ts:548


isConnected

isConnected(): boolean

Returns

boolean

Defined in

src/golem-network/golem-network.ts:621


createNetwork

createNetwork(options?): Promise<Network>

Creates a new logical network within the Golem VPN infrastructure. Allows communication between network nodes using standard network mechanisms, but requires specific implementation in the ExeUnit/runtime, which must be capable of providing a standard Unix-socket interface to their payloads and marshaling the logical network traffic through the Golem Net transport layer

Parameters

NameType
options?NetworkOptions

Returns

Promise<Network>

Defined in

src/golem-network/golem-network.ts:633


destroyNetwork

destroyNetwork(network): Promise<void>

Removes an existing network from the Golem VPN infrastructure.

Parameters

NameType
networkNetwork

Returns

Promise<void>

Defined in

src/golem-network/golem-network.ts:641