1. Home
  2. Docs
  3. Chainlink Adapters
  4. External Adapter Workshop

External Adapter Workshop

Originally posted by: Dan Forbes & Jonny Huxtable

Chainlink External Adapter Workshop

The purpose of this workshop is to showcase the power of Chainlink external adapters and their ability to extend the capabilities of the Chainlink node as well as explore their role in the Chainlink ecosystem. Participants will be guided through the process of creating a Chainlink external adapter and using it to request real-world data from a Chainlink node. This workshop will feature the LinkPool Bridges library, which makes writing Chainlink external adapters in the Go programming language easy. Jonny Huxtable, LinkPool co-founder & tech lead and member of the Chainlink core development team, will offer his offer insights on external adapter development, the LinkPool Bridges library and the marketplace for external adapters.

As part of this workshop, the external adapter will be deployed using AWS Lambda and Amazon API Gateway, which is a common way to expose external adapter capabilities. Although a credit card is required to sign up for an AWS account, following this workshop should not incur charges on a newly-created free-tier account. Please keep in mind that continued usage on your AWS account may result in charges. There are other methods for deploying external adapters, but they are out of the scope of this workshop.

Please note that in order to demonstrate external adapters in action, this workshop assumes that participants understand how to run a Chainlink node; issues related to this topic are out of the scope of this workshop.

This workshop will build on information from the Chainlink + Remix Workshop.

The recording of this workshop can be found here. (link missing)

Environment

Since this workshop builds on the Chainlink + Remix Workshop mentioned above, it also makes the same assumptions with respect to the environment. Furthermore, I have the following applications installed, which are required for this workshop:

Code

The code used as a starting point for this workshop was found on github.com.

Steps

  1. Save the code to a file called main.go.
  2. Use go to initialize a new module: go mod init cryptocompare-adapter
  3. Use go to fetch project dependencies: go get
  4. Use go to build the code: go build -o ./build/cryptocompare-adapter
  5. Use zip to create an archive of your code: zip -j cryptocompare-adapter.zip ./build/cryptocompare-adapter
  6. Use AWS Lambda to create a new Function.
  7. Name: cryptocompare-adapter
  8. Runtime: Go 1.x
  9. Add code to your Function by uploading your zip archive.
  10. Code entry type: Upload a .zip file
  11. Runtime: Go 1.x
  12. Handler: cryptocompare-adapter
  13. Set the LAMBDA environment variable to true.
  14. Save the changes to your Function.
  15. Create a trigger for your Function.
  16. Trigger configuration: API Gateway
  17. API: Create a new API
  18. Security: Open
  19. Use the API Gateway management console to remove Lambda Proxy Integration from your trigger.
  20. Deploy the changes to your trigger.
  21. Use the Chainlink node web UI to add a new Bridge to your Chainlink node.
  22. Name: cryptocompare
  23. Bridge URL: <API Gateway endpoint>
  24. Create a new Job that uses your Bridge:

{

  “initiators”: [

    { “type”: “web” }

  ],

  “tasks”: [

    { “type”: “cryptocompare” }

  ]

}

  1. Run the new Job.
  2. 🚀🚀🚀

About Chainlink

Chainlink is a decentralized oracle network that enables blockchain smart contracts to securely access off-chain data feeds, web APIs, and traditional bank payments. Chainlink is consistently selected as one of the top blockchain technologies by leading independent research firms such as Gartner. It is well known for providing highly secure and reliable oracles to large enterprises (Google, Oracle and SWIFT) and leading smart contract development teams.

About Jonny

Johnny is an experienced lead developer with over 14 years of experience of working on greenfield projects. From knowing how to develop performance business applications to large corporate infrastructure, he’s very excited to be at the forefront of what’s to come with smart contracts powered by Chainlink.

About Dan

After graduating from the University of Texas at Austin with a degree in computer science, Dan worked as a full-stack developer for enterprise software companies. Today, Dan is passionate about collaborating with developers of Chain-linked smart contracts in order to help build the world’s most secure decentralized oracle technologies.

Was this article helpful to you? Yes 2 No

How can we help?