Skip to content

Commit

Permalink
docs: moved contributing to docs, refined upgrading and concepts docu…
Browse files Browse the repository at this point in the history
…mentation
  • Loading branch information
grisha87 committed Jun 25, 2024
1 parent 88510d9 commit b7376d1
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 14 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ Read the dedicated [testing documentation](./docs/TESTING.md) to learn more abou

## Contributing

Read the [Contributing Guide](./CONTRIBUTING.md) for details on how you can get involved. In case you find an issue with the examples or the SDK itself, feel free to submit
Read the [Contributing Guide](docs/CONTRIBUTING.md) for details on how you can get involved. In case you find an issue with the examples or the SDK itself, feel free to submit
an [issue report](https://github.com/golemfactory/golem-js/issues) to the repository.

## Discord
Expand Down
11 changes: 0 additions & 11 deletions docs/CONCEPTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,17 +102,6 @@ When using the `ResourceRental` model, you can still access these lower level do

When you obtain resources via the Golem Network, your _Golem Virtual Machine Image (GVMI for short)_ is going to be deployed by `golem-js` into the _Activity_ running on the Provider. Technically, on the Provider instantiates an _ExeUnit_ which is a physical implementation of the _Activity_ of the Golem Network Protocol. Without digging in too much details, it's this _ExeUnit_ which at the end performs the operations that you issue via the Golem Network.

If you're familiar with Docker, you can picture the architecture in the following way:

| Golem | Docker | Kubernetes |
| ------------------ | ------------ | ------------ |
| GVMI | Docker Image | Docker Image |
| Activity (ExeUnit) | Container | Container |

> **DISCLAIMER**
>
> The above comparison is used only for illustrative purposes. Golem GVMIs, ExeUnits and Activities behave differently compared to Docker or Kubernetes.
As a Requestor you're interested in quickly executing your commands within the container that runs your image. The `ExeUnit` abstraction delivered by the SDK is meant to do enable you to do so. The `ExeUnit` type documents the available features of particular ExeUnit type so that you can build up your solution faster, and in a type-safe manner.

### What it should do
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md → docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ You want to contribute to `golem-js`? That's great! This guide will help you get
1. Clone this repository
2. In the root of this project run `npm install` to install all necessary dependencies
3. To build the SDK run `npm run build`
4. Install yagna as described in the [README](./README.md) file - you will need it to test your changes against testnet (no real funds will be required to execute workloads on Golem Network)
4. Install yagna as described in the [README](../README.md) file - you will need it to test your changes against testnet (no real funds will be required to execute workloads on Golem Network)

### Unit Testing

Expand Down
14 changes: 13 additions & 1 deletion docs/UPGRADING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Upgrade Guide

This document describes the breaking changes introduced in each major version of MyLibraryJS and the necessary steps you need to take to ensure your application continues to work correctly.
This document describes the breaking changes introduced in each major version of `golem-js` and the necessary steps you need to take to ensure your application continues to work correctly.

## Upgrading from 2.x to 3.x

Expand Down Expand Up @@ -84,6 +84,18 @@ Areas where the changes are needed:

- Instead of referring the `TaskExecutor` instance in the `map` function, you need to switch to the `ExeUnit` instance provided by the `ResourceRental`

> **IMPORTANT DIFFERENCE**
>
> `TaskExecutor` by default assumed that users want to run these commands in parallel, so it
> was establishing up to 5 agreements with different providers and then sent out these
> commands to different providers to leverage parallelism.
>
> With `[email protected]`, when you use `oneOf` to rent resources, you are establishing one agreement
> with a single provider and the commands which you issue with `Array.map` will be executed
> sequentially by that single provider.
>
> If you want to achieve _parallel command execution_ on different providers, refer to the [Engaging with many providers at the same time](#engaging-with-many-providers-at-the-same-time) example.
**Before:**

```ts
Expand Down

0 comments on commit b7376d1

Please sign in to comment.