Inspiration

We believe that solutions such as the Golem network should be accessible to as many people as possible. Golem network can allow anyone with basic web3 knowledge to provision computing power. It does not require setting up and learning products like AWS Lambda or DigitalOcean PaaS. To make that possible we decided to integrate the Golem network solution into the n8n project.

People widely use n8n link to automate workflows. It can be used as a no code or low code solution. Most people use the predefined blocks to create various automations, but there are also power users who write script nodes to create tailor-made solutions. n8n by default provides only a NodeJs environment to run user defined scripts. Many developers, who want to use other environments, must use serverless computing solutions like AWS lambda, which are time-consuming to set up and are not cost effective.

We implemented Golem network nodes for the n8n project. Such nodes allow users to run any code on any precreated image.

Since we are in the era of AI we've decided to build a few Golem packages and custom nodes for n8n that utilize Golem network computing power.

The yagna setup process might be a bit confusing for some users. To mitigate this problem we created a new n8n image with integrated yagna. It allows users to set yagna easily without the need to do any work in the console. You just need to provide the private key for your wallet, and that's it.

What it does

  • easy to use, docker based setup of yagna
  • automated workflow blocks in n8n that use Golem images
  • universal n8n nodes for running user code on Golem network
  • set of new golem packages which allow users to process video, audio and images

For example: The user gets lecture videos from an email newsletter. He wants to cut out all parts of the video, where the lecturer does not say anything. Then he wants to save the video to his Google drive. Finally he wants to get a notification about the new video on Slack.

Nodes for getting email attachments, saving files to google drive and writing a message on Slack are already available in n8n. Our golem node, together with the custom package we created, allows him to easily process the video file.

How we built it

Our solution includes multiple parts:

  • Docker image for n8n with yagna and wallet setup script. - We mainly worked with Golem network documentation and Docker.
  • Python golem image that allows cutting of silence parts from videos + specialized n8n workflow block. - We used Python for the image and JS for the n8n node.
  • NodeJS based golem image that allows converting video to audio files + specialized n8n workflow block.
  • NodeJS based golem image that uses OpenAI Whisper to transcript provided audio file + specialized n8n workflow block.
  • NodeJS golem image that allows resizing images + specialized n8n workflow block.

Challenges we ran into

  • The documentation wasn't 100% clear, so we had to figure a couple of things out.
  • Building and sending custom images using MacOS. On some devices it didn’t work at all and on others I crashed for larger images.
  • Golem test network did not provide enough resources to quickly debug AI related tasks.

Accomplishments that we're proud of

Fully working workflow, from no-code yagna setup, to no-code golem image usage into uploading output to 3rd party services.

What we learned

  • Using computing power of Golem network
  • Communicating with Golem network
  • Basics of managing Golem's account

What's next for Golem nation

  • Official release of our Golem plugins in n8n marketplace
  • More extensions for n8n utilizing golem images, for example: Blender image, Stable Diffusion, etc.
  • Extended integration n8n <> Golem network

Built With

Share this project:

Updates