Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/figurestudios/easy-yagna-js
Running things on Golem is really hard, which is a thing that is agreed upon by most members. This is a solution for uploading dependencies without the <personal> use of Docker. Abstracting & making things high-level is essential for adoption, so hopefully this can be useful for someone. We will upload our node_modules directory to the provider directly, and have the provider extract the contents so that it can use the modules. This is also faster than re-building everytime you need a new module, so even if you understand how it works you may have some interest in implementing this into your workflow.
https://github.com/figurestudios/easy-yagna-js
golem
Last synced: 14 days ago
JSON representation
Running things on Golem is really hard, which is a thing that is agreed upon by most members. This is a solution for uploading dependencies without the <personal> use of Docker. Abstracting & making things high-level is essential for adoption, so hopefully this can be useful for someone. We will upload our node_modules directory to the provider directly, and have the provider extract the contents so that it can use the modules. This is also faster than re-building everytime you need a new module, so even if you understand how it works you may have some interest in implementing this into your workflow.
- Host: GitHub
- URL: https://github.com/figurestudios/easy-yagna-js
- Owner: figurestudios
- License: mit
- Created: 2022-04-25T17:18:11.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-04-25T17:19:59.000Z (over 2 years ago)
- Last Synced: 2024-01-24T04:14:42.729Z (12 months ago)
- Topics: golem
- Language: JavaScript
- Homepage:
- Size: 4.88 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# easy-yagna-js
Running things on Golem is really hard, which is a thing that is agreed upon by most members. This is a solution for uploading dependencies without the use of Docker. Abstracting & making things high-level is essential for adoption, so hopefully this can be useful for someone. We will upload our node_modules directory to the provider directly, and have the provider extract the contents so that it can use the modules. This is also faster than re-building everytime you need a new module, so even if you understand how it works you may have some interest in implementing this into your workflow.## **Walk-through**
First, make sure that you have a `node_modules` directory in your local directory. Otherwise do this on Windows: Right click > New > Folder
Then install your dependencies. In this example, we will run `npm install node-emoji`. Make sure that it gets installed in the `node_modules` directory.
We need to install archiver for ourselves to zip the file with our `zip.js` script. Run `npm install archiver`
Run `node zip.js` to zip your `node_modules` directory.
The provider will run `npm install extract-zip -g` to install a tool to extract the contents. This is not possible to run on default on Windows, but you don't have to - only the provider has to. It will also extract with this command, but again, you don't have to run this: `extract-zip node_modules.zip`
Start your yagna daemon: `yagna service run`
Enable the daemon as a requestor: `yagna payment init --sender`
Set your YAGNA_APPKEY: `set YAGNA_APPKEY=your-32-char-app-key` (found with `yagna app-key list`)
Install yajsapi: `npm install yajsapi`
Run `node requestor.js`**Building (optional)**
```
$ docker build -t easyyagnajs:latest .
$ gvmkit-build easyyagnajs:latest
$ gvmkit-build easyyagnajs:latest --push
```
Copy the hash & swap it out on [this line](https://github.com/figurestudios/easy-yagna-js/blob/main/requestor.js#L5).