NFTs have taken the digital world by storm. You’ve heard of creators cashing in big on the new technology, like the art piece sold for $70 million. But what do NFTs mean for the average content creator?

What is an NFT?

NFTs are special tokens on the blockchain. They have a unique ID along with a publicly visible transaction history. Since they exist on a public ledger, you can trace a token’s ownership history from creation through each subsequent buyer, along with the sale price at each step. You can think of it like a receipt, it’s publicly verifiable proof that a transaction took…

Photo by Fakurian Design on Unsplash

NFTs are set to change the world of digital content forever, but the public nature of the blockchain makes it difficult for buyers to really feel like the true owner of their tokens. Using the digital signatures built into the Ethereum protocol, we can fix this problem.

Just what are NFTs really?

NFT stands for Non-fungible token. I don’t know about you, but I’ve never used the word fungible in my life. What it really means, is that each token is unique and special, like a snowflake. Pennies in the US financial system are fungible tokens, each one is considered to be identical when used…

Photo by Clint Adair on Unsplash

The state of Ethereum libraries for Elixir

I’m a huge fan of Elixir and Phoenix, to the point where I could hardly imagine writing a backend web application in anything else. Especially not in Javascript. So when I began experimenting with smart contracts and Ethereum, I was dismayed to see the lack of fleshed out elixir libraries for interacting with the blockchain. Nothing came close to the state-of-the-art Web3.js available for javascript enthusiasts. ExW3 was a good candidate, but I found myself forking the repository almost immediately and even needing to fork and update it’s dependencies. …

Photo by Harshal Desai on Unsplash

Most people would tell you not to use a while loop in Elixir. And most people are right. Since data is immutable, they generally won’t do you much good. But I am not most people.

A common while loop looks something like this:

This wouldn’t quite work in Elixir. The value of x can't change, so depending on the value of x, the loop would either continue forever, or finish immediately. Not so helpful is it? "But Wait!" you proudly shout, "We can just reassign the value of x and loop to our hearts content". But thats not really

Data is Immutable

Data structures in Elixir are immutable. Once I define a value, it cannot be changed. When I declare the list of outer planets as

outer_planets = ["Jupiter", "Saturn", "Neptune", "Pluto"]

There’s not a damn thing I, nor Neil Degrasse Tyson could do to remove “Pluto” from that list. Sure, I could try to change it, but all attempts will create a new list, leaving the old one fully intact.

iex> outer_planets = ["Jupiter", "Saturn", "Neptune", "Pluto"]`, 
iex> updated_planets = List.delete(outer_planets, "Pluto")
iex> IO.inspect(updated_planets)
iex> ["Jupiter", "Saturn", "Neptune"]
iex> IO.inspect(outer_planets)
iex> ["Jupiter", "Saturn", "Neptune", "Pluto"]

Although nothing stops me from simply…

John Kohler

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