Giter Club home page Giter Club logo

golem-node's Introduction

Golem Provider Node ๐Ÿณ Docker Image

Project won one of the four prizes allocated by the Golem Project on Gitcoin's Hack New Golem bounty!

Read more on the Golem's Blog article.

๐Ÿ”— Links

โ„น๏ธ Prerequisites (important)

As per the Provider Node Documentation > Prerequisites:

To run Golem Sneak Peek you'll need a physical machine as you may encounter issues when running it on a virtual machine.

Your Docker host must be a physical machine: you will need to give the container access to the /dev/kvm device.

Furthermore, Golem only supports 64-bit architecture for the moment (see GolemFactory/Yagna Releases Page).

โ–ถ๏ธ Usage

You can clone this repository or use the provided docker-compose.yml as a base template for your own setup.

A Makefile is included for convenience but make is not required to run the node.

Use make or make help to list the available shortcuts.

1. Environment Set Up

Create a .env.local file in order to add your ERC20 address as an environment variable (replace the following placeholder with your own PUBLIC address):

echo "YA_ACCOUNT=0x18f199E8DAb38257ca84D4858FF6F73De1A697eA" >> .env.local

This is important because it will be the address where your earned GLM will be sent.

You can use for instance your Metamask or Ledger public address. This way, you can have your earned GLM tokens sent directly to your account, and you can manage them from there without Golem ever needing to access your wallet.

2. First Start

Use make setup to run the node for the first time.

The CLI will ask you a few questions: refer to the Provider Node Documentation > Initial Setup for more details.

The node settings will be kept on your host in a ./data-node repository.

3. Run the Node

Use make up to start the node in a detached mode.

Display the last logs at any time by running make logs.

Use make status to get your node address and health, and make settings to display your current node parameters.

Get shell access with make shell.

๐Ÿ’จ Maintenance

The node caches every docker image it uses to run jobs in the following directory: ./data-node/ya-provider/exe-unit/cache/. Those images are never removed and can slowly take up a lot of space on your hard drive.

To prevent this a helper command has been introduced: make clean ; which removes every file older than 7 days in the cache directory.

If you are running the job scheduler for docker environments Ofelia on your host this task will be done automatically, every day at midnight, thanks to specific labels added on the node service.

Donation ๐Ÿบ

If you find this template useful you may consider the option of offering me a beer through a donation. Support is very appreciated ๐Ÿ™‚

ETH / ERC20 Token: 0x18f199E8DAb38257ca84D4858FF6F73De1A697eA

golem-node's People

Contributors

alexandre-abrioux avatar cryptobench avatar github-actions[bot] avatar irhonin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

golem-node's Issues

Transfer ownership to the Golem Factory

I'm opening this issue to discuss the topic of transferring ownership of this repository to the Golem Factory as I think it would make sense.

I would be glad to continue maintaining this project. I think we can still find ways to improve it, like maybe adding some CI to automatically follow Yagna releases, or other features I didn't think about yet. I would love being able to help the Golem team in bringing those new features as I will also benefit from them.

But in the end it would make sense, in my opinion, if the repository was owned by the organization. Doing so will allow the Golem team to bring changes to the code that reflects the direction they choose for the growth of the Golem project as a whole.

Tell me what you think :)

see. Related Github documentation

Error: Bad request: No service registered under given address

I've forked your repo and am using this on 3 servers. Thank you! I was wondering if you have seen this error. It is occurring for me on all three servers (all different architectures) at least one a day and it kills the whole thing. I asked in the golem discord, but I guess since this is non-standard, I got no help.

[2021-03-29T12:39:03Z ERROR golemsp] `running: Command { std: "/usr/bin/yagna" "--json" "version" "show", kill_on_drop: false }` failed: [2021-03-29T12:38:59Z INFO  ya_service_bus::remote_router] trying to connect to: /tmp/yagna.sock
    [2021-03-29T12:38:59Z INFO  ya_service_bus::connection] started connection to gsb
    [2021-03-29T12:39:03Z INFO  ya_service_bus::connection] stopped connection to gsb
    Error: Bad request: No service registered under given address '/local/version/check'.

V O.11

Hi @alexandre-abrioux
I've tested your docker and thank for this..
I can upgrade in my docker to version 0.11 and it's OK only need open port 11500 UDP..
Just for share..
Thank again..

Update Yagna version

It seems need for updating Yagna version faster
Could you have a parameter to update/choose Yagna version manually?

Error 127 with make setup

I have this error:

$ make setup
docker-compose run --rm node golemsp run
/bin/bash: line 1: docker-compose: command not found
make: *** [Makefile:42: setup] Error 127

create docker container ?

Hello Alexandre,

tried to create a container but getting errors running the node.

Is there an explanation available somewhere ?

docker run -d
--name golem-network
--restart=unless-stopped
-v /mnt/golem/ya-provider/:/root/.local/share/ya-provider/
-v /mnt/golem/yagna/:/root/.local/share/yagna/
--device /dev/kvm:/dev/kvm
-e YA_PAYMENT_NETWORK=testnet
-e YA_ACCOUNT=0xcdthdthrth (changed)
aabrioux/golem-node:latest

Error:
ERROR golemsp] EOF

Small request: Add Golem topic to repository

Hello!

It would be much appreciated if you could add the topic golem to the repository!
That would mean people could find all the awesome projects by just exploring the topic golem here https://github.com/topics/golem, and hopefully create a little bit more exposure for this awesome project! โค๏ธ

There will be a settings wheel on the right side of the screenshot if you head over to your repository's main page, click that and you should see the option to add a topic.
image

Error of relay Server to forward packets

I have this error:
(Wating for more than 24h, but no task received)

node_1  | 2023-02-25T06:41:47.278964275Z [2023-02-25T13:41:47.278+0700 INFO  ya_relay_client::session_manager] All attempts to establish direct session with node [0x4bedd871d3ec1907227ead1adc366e4d5d6b76c5] failed
node_1  | 2023-02-25T06:41:47.279017842Z [2023-02-25T13:41:47.278+0700 INFO  ya_relay_client::session_manager] Using relay Server to forward packets to [0x4bedd871d3ec1907227ead1adc366e4d5d6b76c5] (slot 2043)

Could I scale for 2 instances?

Could I scale golem for 2 instances or more?

.PHONY: up
up: 			## Start the node
	docker-compose up -d --remove-orphans

to

.PHONY: up
up: 			## Start the node
	docker-compose up -d --remove-orphans --scale 5

Golem hackathon - I can't find the links

Hello,
I can't find the link to the video and the licence in your hackathon submission. Can you please update it ASAP? Deadline to fix it is at 7pm CET.
Thanks,
Costanza

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.