Building a Crypto Weed App: Part 6 - Is Augur the Best Oracle for cluutch?
A quick review of oracle technology in Cardano, Synthetix, Chainlink, Iota, Coinbase, Band, and Augur.
recap
This blog documents my journey learning about crypto and new tech through a real world project. Get caught up:
Part 1 - Working Anonymously (first paid post, WIP)
Part 2 - Barebones API: Set up a bare bones Rails server
Part 3 - Going Live: Deploy site to Herkou
Part 4 - Pretty Things: Make site look good and SEO optimized
Part 5 - But really how much: Prices organized by location
plan
My general goal is to expose the cluutch API on some blockchain, somehow. Probably as an oracle. This week will focus on understanding that problem space better. To date, I have minimal crypto day trading experience, and even more limited exposure to the underlying blockchain technologies.
In order to maintain the API, I have also been performing daily price collection myself. I have been keeping track of future work with Github issues. This week will involve minimal coding beyond squashing the biggest pain points.
technology review
Going into this installment, I do not have any direction to work off of. Some friends have recommended technologies they think may be interesting. I have completed the obligatory “best cyrpto oracle” Google search a few times using different variants. Let me know if you think I missed a technology worth considering.
These are general questions on my mind as I learn about the existing tools:
What dapps about weed exist?
What types of measurements are existing oracles making?
Who would be a consumer of my oracle? What technology are they most likely to use?
What are the possible use cases for this information?
As of now, creating a weed price alert app sounds reasonable. Let’s reevaluate that after all the technologies have been reviewed.
cardano
tl;dr: Cardano is a cryptocurrency built by the scientific process and it seeks to validate the state-of-the-art in crypto.
Cardano cares about process. I initially found that the documentation was not helpful. The language is broad and doesn't clearly poing to to a single technology as the secret sauce.
Instead, Cardano emphasizes the values that drive their work.
Cardano is the nexus of five principles: People, purpose, technology, research, and opportunity. Explore and learn this new constellation of knowledge.
After a bit more reading, its clear that it all comes down to the scientific method. Their oracle initiative is a partnership with Wolfram Alpha. Neat.
synthetix
tl;dr: Synthetix is making derivatives with on chain exposure easier.
Derivatives. Liquidity. This very much sounds finance oriented.
Originally, I was going to move some crypto from my Ledger to Binance so that I could trade for SNX. I started that process, but while waiting for the transfer to be confirmed, I did some basic research into the SNX market . I was surprised to see that in percentage terms, it is beating BTC, ETH, and LTC in the recent months.
A more straighforward view of SNX/BTC:
Given the recent bull run in BTC, ETH, LTC, etc, I was expecting to be able to sell blue-chip crypto to buy SNX. It looks like now is not a goot time for that. Instead, I’m going to transfer fiat and buy SNX with that.
This is my first time staking a crypto outside a normal exchange. 27.11% is decent ARR. You don’t see rates like that at the bank. I’ll just let that sit and move on.
Even though that was a fun experience, Synthetix is probably not the right choice for cluutch. My quotes are of weed prices, not crypto prices. Cluutch’s weed prices are not currently backed by tradable markets. Or at least, the weed markets I am quoting are not as liquid and reliable as the crypto ones.
But I learned a lot and Synthetix partners with Chainlink, which I’ll look into next.
chainlink
tl;dr: Chainlink is the biggest network with straightforward documentation but there are concerns over its governance structure.
Chainlink was built with the oracle problem at the forefront. Even without having to understand all of the tech, it is easy to find instructions for connecting to an API.
This reading which contrasts Chainlink with API3 is compelling. It makes the case that data providers are undervalued in Chainlink relative to node operators.
the API providers are paid a couple of orders of magnitude less and don’t even know their data is being resold in these applications
From the implementation side, this article covers more of the nuts and bults of how data feeds work:
Chainlink oracles have two methods of getting API data into the blockchain: 1) a simple model where professional node operators transfer data between API providers and blockchain networks, meaning existing data companies don’t need to change anything about their current business model or infrastructure, or 2) an advanced model where data providers operate their own Chainlink node to sell origin-signed data directly to smart contracts and get paid on-chain.
iota
tl;dr: IOTA oracles are very new and IoT isn’t relevant for weed feeds.
When you search IOTA on Hacker News, most of the recent news is about that time their network went down for days.
Oracles are also new to IOTA with the primary focus on IoT. It is difficult to imagine situations where IoT devices will need to know the price of weed.
band protocol
tl;dr: Looks cool but too many new and moving parts to try out now.
The Band Protocol uses Cosmos to provide oracles across many different blockchains. Like with most oracles, the use cases and recent partnerships focus on DeFi and tradable asset prices. The markets cluutch’s weed prices are sourced from are not easily tradable.
coinbase
tl;dr: Surprise! Coinbase wants to be in the oracle space too.
In Coinbase’s 2020 entry into the space, they created an oracle based off their regular API for getting BTCUSD and ETHUSD prices. This is very similar to what I want to do — create an oracle based off the cluutch API. Coinbased used Open Oracle. Good for them. But I’m going to try something from a less well capitalized player.
augur
tl;dr: Imma use Augur.
Augur lets users bet on real world events.
In many cases, this isn’t very different than what many of the other platforms. You can bet on the asset price of cryptos at some point in the future.
But more interesting, is the ability to place bets on other types of non-crypto events.
This presents a clear use case for a weed price oracle. I will create a corresponding Augur market to the effect of “the 7-day average price for weed in Florida will not drop below $100 an ounce before Dec 31, 2021”. Without a doubt, this is the direction I want to go in. Participation in the created market will validate some level of confidence in the underlying API.
getting augur working
Augur is an ERC-20 token, meaning it is built on top of the Ethereum network. Gas prices are crazy and the Ethereum network is generally crazy right now. That makes it hard to know if the difficulties I’ve faced getting setup are specific to Augur, or more general to ETH and all cryptos at the moment.
Website would not load in Firefox in private mode. Switched to normal Chrome.
Validation fees are high. Augur requires at least three validations to get setup. I’m not exactly sure what they are doing, but they cost me about $17 each.
Validation was confusing. Initially, I did not have enough ETH to validate. This was confusing because because it said cost was 0 ETH. Needed to understand that gas was required as a separate line item.
Validation was slow. Using the default gas values, my transactions did not get picked up for hours. Eventually, I increased past the highest level manually. This would take the cost from $16 to $19 on average but would process immediately.
DAI, ETH, and REPv2 required. Augur relies on several different coins. Gotta catch em all if you want to play.
Unable to trade. After finally getting validated, I am still unable to trade.
There is no explanation why I cannot trade. Based on some quick searches, it is either because the trading UI is still in development or because it can tell I am connecting from the USA.
Next week, we’ll dig deeper into Augur and try to place our first bet and maybe even open our first market.
cluutch.io bugs & new features
Although the focus for this installment was oracle investigation, the website still needed some maintenance. Over the course of the week, I recorded five issues. #8 is a bug and should be tackled immediately. However, not all enhancements should be completed now, or maybe ever. I will only focus on those that are impacting me when I use the tool to upload prices.
Completion of both #4 and #5 will make the price uploads faster. After a few days, it takes me 1min on average to input each price. This is more than the 45sec I used when doing budget estimates for crowdsourcing the input. Not only is an inefficient process personally annoying, but I won’t be able to afford to have someone else do it unless I can make the process more efficient.
Here are the Github links to each of the issues. Those contain links to the PRs that closed them: