Honeycomb Marketplace 101 for Ethereum Developers

Burak Benligiray
CLC Group
Published in
4 min readNov 16, 2019

Honeycomb Marketplace consists of two integrated services:

  • An API marketplace where Chainlink node operators buy calls from API providers to serve jobs
  • A listing service where smart contract developers find jobs served by Chainlink oracles

Each Honeycomb partner node serves 1,200+ jobs, and we are fast approaching 10,000 in total number of listed jobs. This means that we provide a wide variety of data through a number of oracles, which makes many use-cases possible. On the other hand, it takes that much more effort to serve this many jobs in a developer-friendly way.

In this article, we are going to try to give you a general view of Honeycomb Marketplace, assuming no prior knowledge of Chainlink.

What is a job?

A job is a kind of service that a Chainlink oracle provides. Chainlink node operators can parametrize these to be as specific as they want. For example, all three examples below can made into a Chainlink job:

  • Answer a question that is passed as a parameter
  • Return the price of an asset that is passed as a parameter
  • Return the price of BTC

On Honeycomb Marketplace, each job is mapped to a path of an API. For example, Fixer is a Honeycomb-partner API that provides FOREX rates. Its /convert path is served as a job. While using that job, you need to pass it the following three parameters:

  • the currency to be converted from (e.g., USD),
  • the currency to be converted to (e.g., EUR),
  • the amount to be converted, (e.g., 10).

How to make a request for a job?

You need to know the following details to make a Chainlink request:

  • Oracle address: The smart contract address of the oracle you want to make the request to
  • JobID: A 32-character long hexadecimal string that the Chainlink node uses to label different jobs
  • Additional parameters: Parameters specific to the job (e.g., the ones in the /convertexample above)
  • Price: The minimum amount of LINK tokens that you need to transfer along with the request

Then you inherit the ChainlinkClient contract and use the related methods to build and send the request. This part is out of the scope of this article, you can see the official documentation for more details.

How to find the job details?

If a node operator wants to serve their jobs to the public, they get these details listed on a listing service. As a smart contract developer, you need to go to the listing service to find the job details for the specific service you need.

To access the job listings on Honeycomb Marketplace, you need to be logged in. Then, you need to make a series of selections to find a job listing:

1 — API

This one is quite straightforward, click the API that you want to call.

2 —Path

Click the Connect button on the row of the API path you want to call. To see what different API paths do (and their parameters), you can use the link to the API documentations below the name of the API.

Note that there is also a Test button for you to be able to test the API path. This will be introduced in a separate article.

3 — Network

Select the network that your smart contract lives in. Note that Ropsten calls are free (paid for in Ropsten LINK), while mainnet calls are not (paid in actual LINK).

4 — Data Type

Select what data type you want the response to be delivered. For example, the response we are going to be getting from the /convert path is going to be a number. Furthermore, that number is always going to be positive (because exchange rates are always positive). Then, it makes the most sense to get the response as an unsigned integer (i.e., uint256).

See this article for details.

5 — Oracle

Now that you have a list for the specific job you are looking for, you can select the most suitable one for you based on its price, or which oracle is serving it. Copy-paste the oracle address, JobID and the LINK price into your code. Remember that the API path-specific parameters are obtained from the API documentations.

Conclusion

This article is meant to give you a very general overview of the marketplace, and by no means a comprehensive guide. If you got the gist of it, you are A-OK! We will be providing much more in-depth resources very soon.

--

--