Welcome to the new Golem Cloud Docs! 👋
Promise API

Promise API

See the documentation on promises for an example of using the Runtime API to create and wait on promises to coordinate between Golem workers or with external systems.

package golem:api;

interface host {

	record promise-id {
	    worker-id: worker-id,
	    oplog-idx: s32,

	record worker-id {
	    component-id: component-id,
	    worker-name: string

	record component-id {
	    uuid: uuid,

	record uuid {
	  high-bits: u64,
	  low-bits: u64

	record account-id {
	    account-name: string

	golem-create-promise: func() -> promise-id;

	golem-await-promise: func(promise-id: promise-id) -> list<u8>;

	golem-complete-promise: func(promise-id: promise-id, data: list<u8>) -> bool;

	golem-delete-promise: func(promise-id: promise-id) -> ();