Last weekend the OpenRelay team traveled to Denver Colorado for the ETH Denver conference and buildathon.

Background

For quite some time, OpenRelay has been working on a project we call the Ether Cattle Initiative. If you’re not already familiar with Ether Cattle, we have a YouTube video about the project, an Architecture Document, and a Github Repo where you can get details. In general, the gist of the Ether Cattle Initiative is that Ethereum clients should be Cattle, not Pets. Fundamentally, the Ether Cattle Initiative is about operationalizing the management of Ethereum nodes.

Because of our choice of names, people often ask “so, is Ether Cattle just a version of Crypto Kitties, but with cows?”

So for ETH Denver, we decided we were going to make a version of Crypto Kitties, but with cows. We call it Crypto Cattle.

Prep Work

OpenRelay has supported ERC721 tokens since 0x v2 launched on Kovan last August. Before ETH Denver, we extended it with some new features. OpenRelay now explicitly supports the ERC721 Metadata Extensions. If an order uploaded to OpenRelay involves a token that supports the metadata extension, OpenRelay will retrieve the metadata and index it. When we serve the order, the order metadata field will have a makerAssetMetadata field, a takerAssetMetadata field, or both. Those fields expose the metadata for all available records so that front-end applications don’t have to explicitly query for the metadata of every token.

The Plan

Going into ETH Denver we had a pretty good idea how we wanted Crypto Cattle to work. We came with:

A plan for the contracts

A pretty good idea of what was required for the front-end

The ERC721 metadata extension in OpenRelay

A plan for backend services to provide the genetically derived metadata and images to our Crypto Cows

Over the next couple of weeks we’ll go into more detail on each of these; the rest of this post will cover Crypto Cattle at a high level.

Filling out the Team

A couple weeks ago, we put out a call for people interested in joining our Hackathon Team. At ETH Denver, we serendipitously found Connor Bryan from MyCrypto. We were lucky to find someone with his level of front-end skills who was excited to work on Crypto Cattle.

(If you want one of those shirts, order one here)

The Buildathon

The build started at 8:00 Friday night, with submissions due 8:00 Sunday morning. Connor started working on the frontend, I started building the image assembler and contracts, Greg started on the image subcomponents, and Beth created a quick project plan, and cleared the road for progress.

36 hours later we had Crypto Cattle mostly up and running on Kovan.

Late in the competition we discovered a couple of minor bugs in the contract that weren’t show stoppers for our presentation to judges, but that we plan to fix before we head to mainnet. And because the contracts took longer to build and debug than we’d hoped, there were a couple UI elements that were mocked out instead of wired up to the contract. We didn’t win any prizes at ETH Denver, but we had a great time, and we think Crypto Cattle makes for a pretty cool case study of what OpenRelay can do with ERC721 tokens.

We’re aiming to have Crypto Cattle up and running on mainnet in the next couple of weeks. Keep an eye on the blog for progress.