Comfort in Conformity
• 12 min
• 12 min
Welcome back to the best 12 minutes of your week...seriously though, It’s really nice to know there’s someone out there reading the WBS! Our goal is to make you a better blockchain securities investor, or at least more knowledgeable about blockchain. We have mentioned token standards in many WBSs, but today it gets all the love! Let the token standards adventure begin!
Token standards are pretty easily defined in concept - they are specific rules for writing smart contracts to implement tokens with specific features and functions. Remember that tokens are just digital code (an identifier) created via a smart contract (like many things on a blockchain) that can be used on a blockchain to initiate and complete transactions, store value, assign rights, and represent and move data. Tokens based on a standard can have information embedded into their code that interacts in different ways with other smart contracts depending on what exactly that token is meant to do. Some examples are in order...let’s start with the BIG one: value, just like the “$1” on a dollar bill, a token needs to represent an amount. It may seem obvious that a single token is “1” token, but in the digital world everything must be written in code. and in the case of tokens, a smart contract can identify a token by its identifier and then confirm that this data does, in fact, represent 1 token by checking the blockchain ledger.
Another good example is digital wallet compatibility. There are actually quite a few different wallet providers - and they are not universal, as in they don’t hold every single type of token out there. Tokens ideally need to be created based on a token standard that is supported by the wallet they are intended to be held in. New token standards require integration with existing wallets, or they need existing wallets to update their code, or completely new wallets to support them - so it’s a major factor to consider from a technical, business, and user perspective. Token standards also apply to things like checking balances before a transfer or transaction between wallets - all done via smart contracts, of course. And let’s not forget NFTs, they have specific token standards that allow for additional, unique data like an owner’s identifier to be embedded into the token for smart contract verification. Tying this all together, the implementation of a token must be done to support the token standard, the blockchain it’s to be issued on, the smart contracts used on that blockchain (and related features/functionality) and the wallets that are commonly used on that blockchain.
They say “the devil is in the details,” so let’s discuss some actual existing standards.
You can’t talk about token standards today without mentioning Ethereum and the ERC-20 token standard. ERC, or Ethereum Request for Comments, is the acronym used to identify different token standards on Ethereum. Different numbers signifying different token standards that exist with Ethereum’s protocol follow the letters ERC. In other words, ERC-20, the most popular token standard used to build Ethereum based tokens isn’t, the only standard; there’s ERC-223, ERC-721 (NFTs!), ERC-1400 and many more. ERC-20 is pretty basic, it describes how to create tokens that have the following smart contract enabled functionality:
- totalSupply: Returns the total circulating amount of tokens;
- balanceOf: Returns how many tokens exist in an account;
- transfer: Transfer an amount of tokens from the token owner’s account to another account;
- approve: A token owner can approve for a spender to transferFrom tokens from the token owner’s account;
- allowance: Returns the amount of tokens approved by the owner that can be transferred via the spender’s account, and;
- transferFrom: Allows a spender account to transfer an amount of tokens on behalf of the token owner to another account.
Other ERC token standards aim to improve on ERC-20 with things like transfers between wallets that support multiple token standards, additional levels of authentication, unique identifiers for NFTs, third party transfer, and even interoperability between different blockchains.
This is a great guide describing some of the more important ERC token standards: https://coincentral.com/a-comprehensive-guide-to-the-different-ethereum-token-standards/.
Check this out if you want to see some code: https://yos.io/2019/04/14/erc-standards-you-should-know-about/.
And if you want to go really deep - here is a comprehensive list of ERC standards (which include other changes and suggestions beyond just tokens) on their website dedicated to EIP (Ethereum Improvement Proposals): https://eips.ethereum.org/erc.
Now, Ethereum isn’t the only game in town - there are other blockchain protocols that have their own token standards. Here are a few names to throw around if you’re at a blockchain party: EOS, Waves, NEO, Ada, and Tezos. From a functionality perspective, they aren’t all that different - they just have a specific technical specification (as in how the smart contract code is written to interact with tokens) that is different across these different blockchain protocols.
Here are a few articles about some of these token standards in case you find yourself hungry for more info:
NEO (NEP standards): https://github.com/neo-project/proposals
As the saying goes: all incredibly great (I think that’s right) things must come to an end! And so closes the page on another riveting chapter of the WBS. We wanted to drop one last bit of knowledge on you when it comes to token standards: don’t think of it from the perspective of tokens, instead, think of it from the perspective of smart contracts and you’ll eventually get it - we promise.
Adios, au revoir, ciao and, dasvidaniya - that means “goodbye and good riddance (HA)”! Have a great week, everyone, and don’t forget to set aside 12 minutes next week for the next adventure.