The PolySwarm Blog

Analyze suspicious files and URLs, at scale, millions of times per day. Get real-time threat intel from a crowdsourced network of security experts and antivirus companies competing to protect you.

Upcoming changes to engine wrapping on PolySwarm

Feb 22, 2021 4:14:11 PM / by Nick Davis COO

Hello engine developers,

We are putting the finishing touches on our new backend systems that are used to manage engines/arbiters and handle bounties. Our goal is to release these changes into production in early-mid March.

One of the major changes we are doing is to greatly simplify how engines are built, tested and run. And we are changing how they communicate with PolySwarm to be more in line with current industry standards for remote distributed services.

Part of that is a change to use a Webhook system to send bounties to engines. This means that engines will need a web service on a publicly available IP address/port for the webhook to communicate. The Webhook message will contain all of the information the engine needs to process a bounty, download the artifact, and return the result.

Another major change is that we are removing the ETH wallet from the engine itself and into a PolySwarm-hosted wallet management system. We have received many complaints about the difficulty and problems with managing a wallet inside an engine, so we are separating them.

We are adding administrative functionality to user accounts on to configure and manage engines, wallets, and webhooks. We will provide an example working web service with an example working engine along with our documentation.

For each engine, you will be able to define an engine configuration in a user or team account. The following are some example configuration settings:
- engine name, description, owner's website, tags
- artifact type(s) supported
- mimetype(s) supported
- max file size supported
- webhook

For each account, you will be able to add an ETH wallet, it will provide basic transfer functionality:
- transfer NCT/ETH into the wallet
- withdraw NCT/ETH from the wallet

For each account, you will be able to add one or more webhooks, which can then be used by engines/arbiters. It will provide the standard webhook functionality:
- create, test, delete the webhook

We will use engine configurations to determine which engines are sent a webhook call for each bounty.

We will continue to use fake ETH/NCT (rinkeby) for the first month or two after this work is released, so we can do testing to make sure everything is working reliably.

For those of you with existing engines that are connected to the marketplace, **this will be a breaking change**. We will provide instructions for how to update your engine to work with the new system. We are trying to make it as simple as possible.

For those who want to start a new engine, or even convert your engine to the new simpler engine framework, we will provide documentation and instructions to do that.

For any engines hosted by PolySwarm, we will update them to continue operating using the parameters they are currently configured with.

Topics: Explained, Engine

Nick Davis COO

Written by Nick Davis COO