Image for post
Image for post

Three teams at the 2018 September ETH San Francisco Hackathon won the Chainlink hackathon prizes for their implementations of Chainlink on the Ethereum blockchain.

Hackathon entrants pit their technical skills against each other over a 36-hour weekend to build a working blockchain application. Chainlink awarded prizes to the teams with the most creative and compelling prototypes of Chainlink. As the applications of off-chain data to on-chain smart contracts are endless, we saw huge variety in projects ranging from political voting, to cryptocurrency finance, to contract uptime guarantees.

Taking the $1,000 third prize was B3PO, a project that merges robotics and…


This article serves as a guide for new Chainlink node operators interested in learning what it takes to run a node. While this document is neutral towards any operating system, it does require some familiarity with the command line, which is commonly used by Linux and Mac users. Additionally, it is perfectly fine to run a Chainlink node in a test setting on your local machine. There is no requirement to purchase a cloud hosting plan. …


To begin, you can watch the transactions of the deployed LINK token contract on Ropsten here. This link filters for the event topics of data requests. Click on a transaction and go to the Event Logs tab and you’ll notice some of the events contain a lot more data than the others. Those are the requests for data, and you can change the Hex drop-down to Text on the last few entries and see part of the payload.

Image for post
Image for post
See the URL and the path that makes up the payload of the request.

You can also use a CBOR decoder to view the full payload in plain text:


This guide is geared towards those who may be new developers, or maybe just new to Golang. Debugging is an essential part of programming, and can greatly enhance your understanding of the system you are working on. In this guide, you will be shown how to set up Visual Studio Code for use with the Golang language. VS Code is a lightweight graphical code editor that allows for extensions (plugins) to be installed in order to add features, similar to Atom and Sublime Text.

Requirements

Set up Visual Studio Code

Install the Go Extension

Launch VS Code Quick Open (Ctrl+P)…


The commonly used definition of an oracle in regards to blockchain technology is to retrieve data from the internet and feed it to a smart contract. Chainlink provides the functionality to do that in a decentralized manner, but it also adds some extra power, by making use of external adapters to produce outputs. The outputs can be passed on to other external adapters within the Chainlink node and can even give Chainlink the capability to utilize private resources and blockchains residing in a company’s network. …


This section of the ChainLink white paper dives into further detail on some of the properties of the ideal oracle solution proposed in Section 3. There are three main sub-sections: oracle confidentiality, infrastructure changes, and off-chain computation.

In regards to oracle confidentiality, trusted hardware is introduced as a better solution to protect against faulty nodes. The Town Crier oracle is comprised of a network of nodes running trusted hardware, and operating on Ethereum’s blockchain. Trusted hardware via Intel’s Software Guard eXtensions (SGX) improves upon previous secure computing methods in that its program execution can be cryptographically verified. Trusted hardware allows…


As the title states, Section 3 of the ChainLink white paper gives an overview of the ChainLink oracle security. The section creates a scenario depicting the perfect oracle solution, then adds layers of complexity and explains why it is difficult to achieve such an environment.

Security is important to have on each individual oracle (node) so that the data is reliably delivered to smart contracts without being tampered with. We trust the blockchain because it is immutable and verifiable, therefore, oracles should also be proportionately secure themselves.

An example of the perfect oracle security is then given. In a perfect…


This section explains in detail the potential solutions for centralized data sources, centralized oracles, and trusting that those oracles are returning valid and accurate data. The section has two main subsections and distributing sources, distributing oracles. It also covers in detail the in-contract aggregation algorithm and provides an insight into the planned off-chain aggregation solution.

Distributing sources is a way to ensure data validity by obtaining the result of a query from multiple providers of the same (or similar) data. A single oracle may retrieve data from multiple data sources using the same query and aggregate them into an answer…


The Architectural Overview gives the detailed view for how ChainLink fits between the blockchain and the internet. It also provides the technical outlook for how the network will operate. ChainLink is going to be developed on Ethereum initially, with support for other blockchains and cross-chains at a later date. There is also a focus keeping the system separated so that any piece may be easily upgraded. The architectural overview is comprised of only two (but both very important) sub-sections: On-Chain Architecture and Off-Chain Architecture.

On-Chain Architecture is the initial implementation for the ChainLink network. In this method, the majority of…


I wrote some notes on how I’m reading the IRS Notice 2014–21 document. This is not tax advice, simply my understanding of how the IRS is classifying crypto currencies in regards to taxes.

Key points: - Virtual currency is a digital representation of value that functions as a medium of exchange, a unit of account, and/or a store of value […] but it does not have legal tender status in any jurisdiction. - Virtual currency that has an equivalent value in real currency, or that acts as a substitute for real currency, is referred to as “convertible” virtual currency. Bitcoin…

Thomas Hodges

Chainlink Integration Engineer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store