Code Monkey home page Code Monkey logo

yagna-docs's Introduction

description
Version 0.9.0

The Golem SDK documentation

{% hint style="info" %}

REQUESTORS

Looking for a quick start? Dive into our requestor development primer! {% endhint %}

{% hint style="info" %}

PROVIDERS

Have a look at "Becoming a provider" if you're interested in running a provider node. {% endhint %}

What is Golem?

Golem is a global, open-source, decentralized supercomputer that anyone can use. It is made up of the combined computing power of the users' machines, from PCs to entire data centers.

To facilitate that exchange, Golem implements a decentralized marketplace where IT resources are rented out. The actors in this decentralized network can assume one of the two non-exclusive roles:

  • Requestor

Has a need to use IT resources such as computation hardware. Those resources are purchased in the decentralized market. The actual usage of the resources is backed by Golem's decentralized infrastructure.

  • Provider

Has free IT resources that can be shared with other actors in the network. Those resources are sold in the decentralized market.

Both requestors and providers may be launched on different types of hardware. Those can be laptops, desktop computers, servers, and cloud environments. In the requestors' case, it is also theoretically feasible for them to be executed on mobile devices.

How can I benefit from Golem?

There are two ways to leverage the platform:

1. Develop a Golem-based product

Our decentralized stacks offer a unique opportunity for software developers.

{% hint style="info" %} Ensuring that the development of products based on Golem is smooth and effortless is our core business. {% endhint %}

Plus, there are no licensing fees.

To get up to speed on Golem application development, start with our quick primer to requestor development and follow up with the rest of our tutorials targeted at requestors.

{% content-ref url="broken-reference/" %} broken-reference {% endcontent-ref %}

2. Become a Golem provider

To get set-up as a provider on the community subnet, follow our Provider tutorial and installation instructions. Our provider installation is set up to use the Ethereum mainnet by default, so once you launch it, you may start earning real GLM tokens right away.

{% content-ref url="provider-tutorials/provider-tutorial.md" %} provider-tutorial.md {% endcontent-ref %}

Golem's mission - free, open-source, censorship-resistant, and democratized access to computing power for all:

{% hint style="info" %} Golem is open-source software. All the code is available under the GPL license.

https://github.com/golemfactory/yagna {% endhint %}

yagna-docs's People

Contributors

0xjjpa avatar azawlocki avatar broadcastmonkey avatar cryptobench avatar etam avatar evilseequ-sys avatar figurestudios avatar gitbook-bot avatar jamuszyn avatar jiivan avatar johny-b avatar kamirr avatar kmazurek avatar krunch3r76 avatar maaktweluit avatar mat7ias avatar mateuszsrebrny avatar mdtanrikulu avatar mfranciszkiewicz avatar mgordel avatar nieznanysprawiciel avatar pnowosie avatar prekucki avatar pwalski avatar rad9k avatar shadeofblue avatar tworec avatar vandavv avatar wiezzel avatar wkargul avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

yagna-docs's Issues

`app-key create` missing from the import key part of tutorial

Name: Mateusz
OS+lang+version (if applicable):
Title: app-key create missing from the import key part of tutorial
!!! attach blender-yapapi.log, zipped data-dir !!!

    the scenario -> 
    1. not purged directory
    2. import key section: [https://golem-network.gitbook.io/golem-sdk-develop/payments/using-golem-on-mainnet#restoring-your-backed-up-golem-wallet](https://golem-network.gitbook.io/golem-sdk-develop/payments/using-golem-on-mainnet#restoring-your-backed-up-golem-wallet)

    (no mention about the need to create a new app-key)

    3. install new yagna (without purging dir): https://handbook.golem.network/requestor-tutorials/flash-tutorial-of-requestor-development

    4. seems my yagna app-key create requestor doesn't do anything as it 

[gvmi debugging tutorial] Mention the difference between `--exec-mode shell` and `--exec-mode exec`

the first one (the default in the newest ya-runtime-dbg) launches the shell

and the latter uses system execve call

the main difference is that the shell has some environment set and e.g. doesn't require full paths to executables

the exeunit uses exec mode so there's an important difference in that the command that run correctly in the shell, will fail in exec mode - and will fail when run on an actual provider

Provide docs with "Edit on GitHub" button on each page

Expected behaviour

If there's a typo or some addition I would want to add to the docs, considering its GitBook, I would like to see an "Edit in GitHub" button enabled at the top of a page so I could send a PR with the documentation.

Current behaviour

There's no "Edit in GitHub" button at the page I'm looking to edit and instead had to go to the Golem Factory GitHub manually. It is not really an issue for developers, but for non-technical people that aren't aware of GitBook <> GitHub it could take a few minutes to bridge the gap, and we could miss their help with typos.

Steps to replicate

  • Go to any page in the docs.
  • Identify a typo or a suggestion to change.
  • Realize that you don't know how to quickly do that and weep a bit.

Suggested changes

In your GitBook documentation, under "Integrations", you can enable the "Display Edit Button" under the settings for the space of this particular repository.

image

imagery updates

Golem overview intro

the image at the beginning of "Golem Overview" might benefit from adding a "Custom runtime" to the right-hand part of the graph to ensure that readers understand that the payloads are not limited to just VM and WASM but that they can be virtually anything...

https://app.gitbook.com/@golem-network/s/golem-sdk-develop/introduction/golem-overview

or maybe there should be a suggestion that it's an open list (like having an empty container with three dots in it?)

Provider vs services

https://app.gitbook.com/@golem-network/s/golem-sdk-develop/introduction/provider

We might want to show that it's not always "input->processing->output->payment" but rather that it may also be something more services-related ... like "deploy-> .... run service .... -> payment (in set intervals?)" ...

zksync docs

add docs that introduce zksync to Golem users

(mac) rm doesn't work

reported by @maaktweluit

$ read -e -p "Backed up keys? (type "yes"): " YN && [[ $YN == "yes" ]] && rm -rf $HOME/Library/Application\ Support/GolemFactory.yagna
read: -p: no coprocess

handbook - add tip when to import ID

2rec - handbook amendment request: add a tip when to import id (with mainnet funds). Two ppl from within Golem misunderstand our notion page, so it will help us internally at least, and I belive it will not hurt community readers, as they may also want to do this.

add the following to the VM part of the tutorial

(excerpt from the yacat tutorial)...

On the provider side, all the content of the VOLUME directories is stored in the provider's os file system.
All the changes in other (non VOLUME mounted) container directories content are kept in RAM. The rest of the VM image file system (not changed, non VOLUME mounted) content is stored as VM image in the provider's os file system.

Please mind that tasks within a single worker instance - so effectively part of the same activity on a given provider node - run within the same virtual machine and share the contents of a VOLUME between each other.
That means that as long as the execution takes place on the same provider, and thus, on the same filesystem, files in the VOLUME left over from one task execution will be present in a subsequent run.

If your provider-side code creates large temporary files, you should store them in the directory defined as VOLUME. Otherwise, the large files will be stored in RAM. RAM usually has a capacity limit much lower than disk space.

Mention why we're using the `slim` versions of images

Add a comment in Dockerfile in "Golem Hello World" above the line with FROM python:3.8.7-slim mentioning that slim image is used to avoid having providers download lots of data but for development using a non-slim version might be more useful

yapapi handbook tutorial corresponding with the service example

requires: golemfactory/yapapi#330

possibly, we could provide two tutorials:

  • one on just utilizing the HL Services API with our VM-based exe-units (essentially, port the toy service to the HL Services API], which could be more familiar to those who have had some experience with yagna app development already
  • and the more high-priority one, utilizing the provider-end service wrapper and running Turbogeth

Add support for externaly hosted images

Currently yapapi receives image_hash and assumes this image is hosted on the central server.

Alternative approach would be to provide a full image URL (or maybe image_hash + base url).

The main purpose is to allow users with large images (e.g. Galatea project) to host them somewhere from where they would be downloaded faster. Also the "central golem image repo" was intended as a temporary solution (I'm not 100% sure abot this?).

NOTE: this should be included in the handbook.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.