🔨 Cool Contracts or Hypermedia Recipes?

When all you’ve got is hypermedia treat every problem as if it were a web application feature

Pace the claim that “software is eating the world”: all software will become web-based. All real bugs are web-bugs. If it can be written in JavaScript, it will be written in JavaScript.

Photo by Paul Cross

And forget “smart contracts”! Remember when timbl said, “There is nothing about HTTP which makes your URIs unstable.” Are we under-utilizing our concepts and over-utilizing our tools?

If you look at hypermedia as a recipe of how the next request is supposed to look like, you will grasp what hypermedia is all about.
Asbjørn Ulsberg

Below are a few of recipes for hypermedia-driven “cool contracts”.

“Smart contracts”

Smart Contracts are typically known by their hierarchical nature: clauses are true under certain objective account considerations (e.g. withdraw and transfer X units assuming Account Y is available and has sufficient balance).


In the spirit of Memento:

Distributed predicates

Consider these “programmable relations”: we are concerned with not only their discovery but also the conditional nature of their use within an application’s heartbeat, its goals, its teleology *ahem* functional requirements. Machines and persons (non-human or otherwise) may interact with these hypermedia controls as clues on what to do “next”, but we also want to think about how generic clients might implement their semantics prior to the consumption of the href associated with the “link relation”. There can be a “collective” or distributed execution of these relations post-discovery, assuming membership in a ring or according to a public-key infrastructure.

How much of Web 3.0 is overlooking REST-ful solutions, preferring “smart” instead of “cool”? Cool is better than smart!



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