1. Home
  2. Docs
  3. Chainlink Adapters
  4. Node.js Serverless External Adapter Template

Node.js Serverless External Adapter Template

Originally Published by Thomas Hodges https://github.com/thodges-gh/

This template provides a basic framework for developing Chainlink external adapters in NodeJS. Comments are included to assist with the development and testing of the external adapter. Once the API-specific values (like query parameters and API key authentication) have been added to the adapter, it is very easy to add some tests to verify that the data will be correctly formatted when returned to the Chainlink node. There is no need to use any additional frameworks or to run a Chainlink node in order to test the adapter.

Creating your own adapter from this template

Clone this repo and change “MyProject” below to the name of your project

git clone https://github.com/thodges-gh/CL-EA-NodeJS-Template.git MyProject

Enter into the newly-created directory

cd MyProject

You can remove the existing git history by running:

rm -rf .git

Install

npm install

Test

npm test

Create the zip

zip -r cl-ea.zip .

Install to AWS Lambda

  • In Lambda Functions, create a function
  • On the Create function page:
    • Give the function a name
    • Use Node.js 8.10 for the runtime
    • Choose an existing role or create a new one
    • Click Create Function
  • Under Function code, select “Upload a .zip file” from the Code entry type drop-down
  • Click Upload and select the cl-ea.zip file
  • The handler should remain index.handler
  • Add the environment variable (repeat for all environment variables):
    • Key: API_KEY
    • Value: Your_API_key
  • Save

Install to GCP

  • In Functions, create a new function, choose to ZIP upload
  • Click Browse and select the cl-ea.zip file
  • Select a Storage Bucket to keep the zip in
  • Function to execute: gcpservice
  • Click More, Add variable (repeat for all environment variables)
    • NAME: API_KEY
    • VALUE: Your_API_key
Was this article helpful to you? Yes No

How can we help?

Leave a Reply