Forum Magazine: Blockchain’s Promise – Verifying Value One Block at a Time

Originally published in Forum Magazine 

by Joseph Raczynski

Blockchain technology is truly transformative, impacting almost every industry. Over the next decade, this technology will significantly transmute the legal landscape as well – a process that has already begun.

Blockchain was initially considered a ridiculous notion – the idea of a digitized ledger beholden to no single owner was derided as unusable. However, the conversion of blockchain from joke to genuine is stark. For example, the top 50 banks in the world have unified in the realization this technology could disrupt the financial industry.

For those newer to blockchain technology, here’s a brief history: In its simplest form, the term “blockchain” refers to a peer-to-peer network of computers running a common software protocol that includes a database replicated on each computer connected to the network, where each user interaction (other than a query) is recorded as a new entry. (Each computer is called a “node,” while the database is often referred to as a “distributed ledger.”)

Further, each blockchain has a mechanism, referred to as a “consensus algorithm,” for ensuring that each copy of the ledger is updated in a consistent manner and is otherwise identical to all other copies of the ledger across the network. Thus, once a transaction has been recorded on the ledger, that record is shared among all the ledger’s users, and generally, it can’t be deleted or overwritten.

Is this technology ushering in an era that creates an undeniable source of truth for contracts and digital identity? How else might it impact how law is practiced and how the legal industry operates?

The Smart Contract

Central to any discussion of blockchain and its legal impact is understanding “smart contracts,” a term that has been around for decades but in this landscape has a specific meaning. A smart contract is a few lines of computer code that creates an “if/then” statement, e.g., if Amazon® stock is at $2,000 on January 1, 2019, then sell it. What is special about smart contracts on the blockchain is that once an agreement has been reached by two parties, it is programmed onto the platform and becomes self-executing and immutable – without any human intervention. For example, Ethereum, the first blockchain platform to popularize the idea of the smart contract, permits people to code “if/then” statements onto the blockchain or into a database with ease, allowing for infinite applications.

Clearly, self-executing legal documents will at some point be the norm. This is one of the most significant efficiencies that we will see in the transactional space.

Forum

Early on, legal industry experts saw that blockchain’s smart contract applications alone had the capability to revolutionize how transactional attorneys practice law, dramatically changing how they interact with documents and clients.

Indeed, it may change the way lawyers view their very function. “These systems embed legal logic, require review by legal counsel and raise unique issues around the proper scope of the lawyer’s review versus the engineer’s,” says Joe Dewey, partner at Holland & Knight. “On an ongoing basis, corporate counsel will need to ensure that the systems are updated when necessary to account for changes in law and company policy.”

The Future with Blockchain in the Legal Profession

Besides the revolution in smart contracts, blockchain is already changing many other aspects within the legal industry, such as:

Cryptocurrency and the Tokenization of Assets – The creation of cryptocurrencies like bitcoin, which use the technology to keep track of ownership and trades, is how most people know blockchain. Digital tokens that represent real value or ownership of other tangible assets has become one of blockchain’s most widely watched developments. With companies and others issuing these tokens via Initial Coin Offerings (ICOs) – raising more than $10 billion thus far this year – attention is being paid.

In the future, we could see all assets represented by these tokens, e.g., a car, house or painting, each a store of value represented by a token and making the transactions of leasing, renting or selling that asset far easier. This will have an impact on how we create and distribute wealth, further impacting the legal industry.

Digital Identity – With the 2017 Equifax breach of 160 million individuals’ private data, our Social Security numbers are nearing the end of their usefulness and a newer identifier may be created to replace them.

Recently at an MIT event, an organization named Sovrin described a new world where each of us will have a digital wallet containing all of our private information, including money, health records, log-ins to websites, birth certificate and driver’s license. Behind all of this information will be blockchain, enabled so there will no longer be a central point of breach where millions of people’s information can be exposed at once.

Legal Industry – Many have predicted that most administrative work now completed by law firms will be replaced with blockchain-enabled solutions – and in more specialized legal matters, such as due diligence, blockchain will have a similar oversized impact. Share ownership tables and company records will be transferred onto blockchain, allowing investors, acquirers and third parties to complete their diligence in less than one hour instead of the typical weeks or months. IPO registration offerings could be processed is less than a week instead of the typical six to nine months.

In a similar vein, Holland & Knight’s Dewey sees a significant change to law firms’ back offices. “When a law firm closes a loan for a bank it needs to send over copies of the executed loan documents and other post-closing deliveries… often, this doesn’t happen,” says Dewey. Blockchain, however, would allow the law firm and the bank to share a common repository and tracking functionality, even if different front-end software solutions are used. “The increased efficiency of such a system would be significant and benefit both the firm and the bank.”

Clearly, blockchain is ripe for disrupting nearly every industry going forward, and the practice of law may feel the impact the most. Still, these are early days. Significant infrastructure must be built, and a great deal of legal guidance will be needed.

If there was ever a time to study blockchain technology and embrace it – and the opportunities it will create – the time for the legal industry is now.

Risk Management in the Cryptosphere: A Talk with Gibson Dunn’s Judith Alison Lee

Originally published in the Legal Executive Institute 

By Joseph Raczynski

Cryptocurrencies and its underlying blockchain technology is upending the traditional paradigm for financial institutions and regulators around risk management. This disruption includes unique challenges around identity association and verification in the cryptosphere, specifically around decentralized exchanges, applications (DApps), and identities. We discussed these topics with Judith Alison Lee, a partner at Gibson Dunn & Crutcher, who advises on issues relating to virtual and digital currencies, blockchain technologies, and distributed cryptoledgers.

Judith, what are the legal challenges in identity-linking and verification in the cryptosphere?

Judith Alison Lee: Given the pseudonymous nature of cryptocurrencies, there needs to be a framework — most likely at the exchange level — to identify the individuals that transact in cryptocurrencies. Most exchanges do collect and attempt to verify customer identifying information; however, depending on the exchange, the information collection and verification may not be robust, and customers may engage in various location- or identity-masking services that pose challenges.

Additionally, there may be jurisdictional challenges regarding privacy laws and the transfer of identifying information. Finally, as we are seeing more and more decentralized platforms supporting peer-to-peer transactions, linking customer identity to particular transactions will likely become more difficult.

How are regulators starting to deal with identity and blockchain?

Regulators are requiring licensing or registration for money transmitter licenses at both the federal and state levels, which requires such entities to comply with Know your Customer and anti-money laundering (KYC/AML) requirements and is one way regulators are addressing identity.


blockchain

Judith Alison Lee of Gibson Dunn & Crutcher

Given the pseudonymous nature of cryptocurrencies, there needs to be a framework — most likely at the exchange level — to identify the individuals that transact in cryptocurrencies.

 


It gets a bit more complicated when we start to talk about linking participants to particular transactions, particularly since the transactions in spot-market cryptocurrencies are not regulated in the same way as transactions in securities or derivatives. As a result, regulators have focused on fraud and manipulation in those markets and have relied on asking the exchanges for transaction-level information, including any identifying information they have collected.

With regard to KYC/AML, terrorist financing, and anonymous transactions, what does the legal landscape look like and how are states or the federal government handling this currently or planning to in the future? 

At the federal level in the US, entities that exchange cryptocurrency may be required to register as money services businesses, while at the state level, many (but not all) states require them to obtain a money transmitter or equivalent license. Both the states and federal government have been involved in enforcement actions to protect against fraudsters in the cryptocurrency space.

In the future, we will have to wait and see if the next Congress will issue legislation on cryptocurrencies.

Is there a way to utilize blockchain for customer due diligence?

It certainly seems that there is a role for blockchain in customer due diligence. The permanent and transparent nature of the blockchain makes it a logical tool to streamline the KYC process. The blockchain would likely be a good way for regulators to have a single source of data and access to the latest information. However, it seems unlikely that a blockchain solution could be utilized for all customer due diligence — though it could certain help to simplify it, particularly for financial institutions.

Clearly, these are the embryonic stages of regulation and oversight for identity management and verification in the crypto space. As adoption of these token rise, global banks and government agencies will further adapt under this decentralized technology-driven revolution.

Classification of Cryptocurrency: Coins, Tokens & Securitized Tokens

Originally published in the Legal Executive Institute

By Joseph Raczynski

One of the most contentious debates in the cryptocurrency world surrounds classification of blockchain-based digital assets, tokens and cryptocurrencies. A panel at the recent Thomson Reuters Regulation of Financial Services Conference discussing the basics of cryptocurrenciesexamined this argument. With more than 1,650 cryptocurrencies or tokens trading in the public domain, it is important to understand their nuanced differences.

Cryptocurrency

Dominating this conversation in the United States is whether specific coins are securities, and secondly, if a utility token can exist. In addressing the first part, the US Securities and Exchange Commission (SEC) recently shed some light by declaring both Bitcoin and Ethereum non-securities. This assertion defines that there is no expectation of equity or return on any investment in these virtual currencies. The overarching belief had held that Bitcoin is a currency and thus a competitor to the US Dollar or Euro; and Ethereum is more complicated.

Tokens

The original intent behind Ethereum was that it supported smart contracts by using their blockchain token called Ether or ETH. In this case, a token stands as a digitized tool to perform a service, similar to those physical token coins used in some video game arcades or laundromats. In this digitized version, the Ethereum platform was intended to perform a service and store more complex, automated, yet immutable code on their blockchain (for example, storing a contract on the blockchain that dictates a sell order if the stock of Amazon reaches $2,000 per share on January 1, 2020).

What differentiates Ethereum from Bitcoin is that the token ETH is used to upload and save that smart contract to a blockchain using “gas”, basically the payment of ETH for each transaction. Therefore, many argue that ETH is a “utility token”, performing a service, i.e. saving that contract to the blockchain. What complicates this is that many start-up tech companies are using Initial Coin Offerings (ICOs) on the Ethereum platform to launch crowd-funding campaigns and raising money. The complication — raising money in this form — have some regulators and industry watchers arguing that these ICOs are more like securities, similar to stocks, even if they are sitting atop of the Ethereum token-based platform rather than on a stock exchange.

Tokenized Securities

Now, a hybrid product that is emerging quickly is the tokenized security. Recently at Consensus in New York City, a company called Polymath created a platform for anyone who wishes to raise money for their company quickly can do so by issuing tokenized securities. The primary difference with this model is that the issuer is offering shares or portions of ownership of the company. There is also a belief that these types of securities will eventually adhere to SEC regulation, which is yet to be determined. What drives the regulatory discussion is a 1946 Supreme Court ruling now called the Howey Test, which determine if something is a security or not. The tenets of the Howey Test are as follows:

  1.  It is an investment of money
  2.  There is an expectation of profits from the investment
  3.  The investment of money is in a common enterprise
  4.  Any profit comes from the efforts of a promoter or third party

 

For a token to be considered a security, each of the above must be true. The primary point of contention is around point four, “Any profit comes from the efforts of a promoter or third party”. This aspect is typically out of the hands of the investor and not something they can control. When these tokens are launched on third-party exchanges, this falls outside of that individual investors domain, and for many, nullifies the Howey Test.

Or as Ash Bennington of CoinDesk phrased it:

A long time ago, someone named Howey owned an orange grove.

Howey said: “I’ve got this orange grove and I’ve got no way to make money out of it — because I need money to make money.”

Tell you what. I’m going to sell you this orange grove and, in exchange, you get whatever profits are made from that little plot.

I’ll work the land. I’m going to pick the oranges. I’m going to squeeze the juice. You just pay me the money.

The plaintiffs said: “That’s a security.”

The SEC said: “That’s a security.”

Howey said: ‘No, no. That’s just selling plots of oranges.”

Ultimately, the Supreme Court said: “That’s a security” – because it passed this test: There was an investment of money. And a common enterprise. With the expectation of profit, primarily from the efforts of others.

Governments around the world are grappling with the classification of cryptocurrencies in what should become a multi-trillion-dollar industry within the next decade. With so much at stake for everyone from the garage startups to the Morgan Stanleys of the world, some regulation is inevitable. Most are merely hoping for clarity, not confines, which could hurt the innovation stemming from the once-a-generation revolutionary platform technology called blockchain.

Podcast: The Hearing With Kevin Poulter & Joseph Raczynski – Future Legal

Episode 2 of THE HEARING is now live!

In episode 2 of The Hearing Podcast Kevin Poulter speaks to futurist Joseph Raczynski on #legaltech #AI #blockchain and the future of the robot lawyer.

Listen now and subscribe to #thehearingpodcast on:

iTunes – https://tmsnrt.rs/2swyzmz

Spotify – https://tmsnrt.rs/2kOOpVw

SoundCloud – https://tmsnrt.rs/2Js4deI

Harvard Business School Panel: How Should ICOs and Cryptocurrencies Be Governed?

Originally published in the Legal Executive Institute

by Joseph Raczynski

BOSTON — Recently I moderated a session at Harvard Business School surrounding its first annual Business, Regulation and Technology of Blockchain Conference. It was held in conjunction with the MIT China Innovation & Entrepreneurship Fund and the Harvard Law Entrepreneurship Project’s Blockchain Initiative.

Before a crowd of 175 attendees — comprised mostly of members of the legal and financial cryptocurrency communities, and MBA and law students — the panel focused on the governance of cryptocurrencies in 2018. The panel experts consisted of Kendrick Nguyen, CEO of crowdfunding platform RepublicCaitlin Long, self-described blockchain enthusiast and former Chair and President of Symbiont; and Anil Advani, Managing Partner of Inventus Law.

The Difference between a Utility Token and a Security

In pushing to help people understand the Initial Coin Offering (ICO) market, I posed the most hotly debated question in the crypto community: What is the difference between a Utility Token and a Security?

Advani jumped into the conversation by discussing how Jay Clayton, the Chairman of the Securities and Exchange Commission (SEC), defines the distinction, “If you are running a laundromat it is a utility, but if you are raising capital that is a security.” Advani went on to explain, if the token is designed to serve as a prepaid service, or it allows you to access a company’s service, e.g. a loyalty points system, it is a token. However, if you are simply trying to use an ICO to raise capital, that is a security and hence subject to SEC regulation.

HBS-Raczynski

Nguyen agreed, speculating that he “expect to see this space to be litigated in court” and added that he hopes “that a lot more tokens will be determined to be utility tokens rather than securities.”

Long emphasized that it may take some time for regulators to sort this out, but companies need to be cautious in the meantime. “Most of the cryptocurrency platforms are not functional yet,” she noted. “So the token currently is not exchangeable for a good or service until that platform is built.” Therefore, these tokens need to be locked up until the companies are operational and not sold until they are ready, she explained, adding that if a company sold its tokens sold ahead of being functional, those tokens could well could be considered a security.

A Token Can Change its Stripes

As this topic is of paramount interest to a $500 billion cryptocurrency industry, the panelists continued the conversation, noting several recent developments. Long described a recent interaction she had with SEC Chairman Clayton. “A token can change it stripes,” Long mentioned, outlining the two stages of a company’s build. In the first phase, because there is no product the tokens are likely considered Security tokens; however, once the platform is running, and the tokens can be exchanged for goods or services, they could be converted to a Utility Token. The key, Long said, is not to “market it as an investment.”

Finally, one of the points noted by Advani was that “Chairman Clayton’s off-remarks during events are similar to Trumps tweets.” It is creating a lack of clarity in this market, thus leading to confusion and consternation, he said.

Privacy Tokens & Taxes

Some of the cryptocurrencies listed among the 1,600 currently available are completely anonymous. I posed the question about its impact on anti-money laundering (AML) rules and the market. Advani is concerned about the ability to track these sorts of assets and said it raises a deep level of concern about how any government would be able to account for this.

Another question that I presented to the panel was on taxes, prompting Long to respond: “This is clear as mud.” There is very little guidance on how to tax hard forks of a cryptocurrency and mining operations, for example, and Long went on to say that this will require legislation to help understand the various facets of the new tokenized society and tax.

While the panel covered a wide spectrum of the impact of regulation on cryptocurrencies, the primary theme that emerged is that though there are glimmers of definition from various agencies in the United States, considerable guidance is still necessary for people to better understand how to invest, create new companies, and work with cryptocurrency.

Beyond Cryptocurrency: 5 Questions about the Future of Blockchain for Thomson Reuters Technologist Joe Raczynski

Written by Gina Scialabba and originally published by the Legal Executive Institute

Blockchain — we’ve all heard about it, and also heard that it will certainly disrupt the financial, legal and public sector worlds near you.

The real questions surrounding the future of blockchain, however, relates to the evolution of its virtual ledger technology and the ways it will change the way we do business — regionally, nationally and globally.

Financial professionals wonder how this digital ledger will impact their day-to-day activities such as regulatory compliance or combating money laundering. Legal professionals are asking how blockchain will revolutionize their practices. Public sector employees want to know how to incorporate blockchain to improve security and efficiencies.

However, the overarching question pertaining to blockchain, no matter what industry you work, is whether or not we trust the technology.

For answers, Legal Executive Institute spoke to Thomson Reuters Technologist and Futurist, Joseph Raczynski, who recently was a featured panelist at the three-city, 2018 Thomson Reuters Public-Private Partnership Forums (P3) which held its first event in New York City on March 7.

Raczynski also recently interviewed Judith Alison Lee, a partner in the Washington, D.C. office of Gibson Dunn & Crutcher and Co-Chair of the firm’s International Trade Practice Group, about the nuts and bolts of blockchain and cryptocurrencies. (You can hear Part 1 and Part 2 of that interview here.)

Legal Executive Institute: In the financial services industry, blockchain is now touted as the future infrastructure of the industry. Clearly, this could be disruptive to traditional banking operations, but also may also enhance the way anti-money laundering (AML) professionals and regulators do their job. How do you see blockchain changing the way financial institutions reduce losses from economic crimes?

Joe Raczynski: There is tremendous promise with this technology in the banking industry. Its core strength is to create permanent, immutable, redundant ledgers, which are auditable. This is the Holy Grail of an accountant or anyone who wants to see a chain of events or track money.


If you’re riveted by blockchain and want to know more, you can catch Raczynski at further P3 events on April 24 in Charlotte, N.C. and on April 26 in Washington, D.C. (You can also follow Raczynski on Twitter at @joerazz.)


There are some significant challenges. Currently, virtual currencies or cryptocurrencies like Bitcoin are unregulated, there is not a central authority that can dictate or control this, as by its very nature, it is decentralized. So, I could send $1 million in cryptocurrency to someone in Iran or North Korea in about 20 minutes, and that could pose problems for some governments. Another major issue that lies ahead are the anonymous virtual coins or tokens that are becoming more popular.

With these, any bad actor could use this to store or launder money without traceability. For the AML world this is probably its biggest challenge in the near term with blockchain technology.

Legal Executive Institute: Financial institutions spend tens of millions of dollars complying with regulations related to Know Your Customer (KYC) rules, as well as due diligence. What impact will blockchain have on KYC or other due diligence procedures?

Joe Raczynski: Fortunately blockchain has the possibility to create structured, yet decentralized data on people and businesses. These stores of information will be permanent ledgers of information. They will be another tool in the ongoing saga to identify people that investigators should be able to rely on.

Legal Executive Institute: Let’s turn to law firms for a moment. As blockchain technology matures, it seems likely we will continue to see applications impacting the legal profession. What role will blockchain play in contract form and estate planning? Should legal professionals be worried their jobs may become obsolete due to smart contracts or self-executing contracts?

Joe Raczynski: Lawyers should not be worried about their jobs becoming obsolete in the near future. However, in time, when smart contracts begin to truly take shape, it will make the drafting and execution of these documents more automated. In the majority of situations, you will have web forms that ask questions, anyone can fill out the answers, and then the document is drafted. Once the document is completed, it is stored on a blockchain. If there are contingencies — for example, sell all shares of a stock upon the death of Person A — the contract will do this. A “Smart Contract” is essentially a few pieces of code that executes or does something based on some perimeter. It is essentially an “if/then” statement.

blockchain

Thomson Reuters’ Joe Raczynski

Legal Executive Institute: Blockchain has a lot of potential to change the way government agencies work, both in the immediate future and with a long look ahead. How do you see blockchain changing the way public records are kept and maintained, such as census data or even birth and death records? Could you see these impacting day-to-day functions such as land conveyances and tile registries?

Joe Raczynski: The State of Illinois is already producing birth certificates on a blockchain. Delaware is moving all corporate records to a blockchain. This is happening now. Dubai plans on having all government records on a blockchain by 2020. In time, all public records will be on a blockchain, which should make it easier to track and interact with the files.

It will also provide higher levels of security and transparency and should be more efficient. As people start to use tokens for all assets that they own, tracking this via a blockchain will become even more important.

Legal Executive Institute: Will blockchain or cryptocurrencies change the way government works with the private sector?

Joe Raczynski: It is possible that some of the traditional models of records keeping which were once maintained by the government will become more open and not run through those traditional central authorizations but will be exchanged through private hands. The safeguard is that these transactions would be auditable as the chain of title will be transparent on the blockchain. It is feasible that you will not have government agencies involved in the oversight of this as they have in the past, instead, a nebulous network that all parties have insight into will evolve.

Podcast: The Technology of Blockchain & Cryptocurrencies with Judith Alison Lee of Gibson Dunn (Part 2)

Originally published in the Legal Executive Institute.

By Joseph Raczynski, Gregg Wirth, and Judith Alison Lee

In the second part of our podcast on the technology behind blockchain and cryptocurrencies like Bitcoin, I speak with Judith Alison Lee, a partner in the Washington, D.C. office of Gibson Dunn & Crutcher and Co-Chair of the firm’s International Trade Practice Group.

Gibson Dunn

Judith Alison Lee of Gibson Dunn & Crutcher

Among her other areas of expertise, Ms. Lee advises clients on issues relating to virtual and digital currencies and related blockchain technologies.


Podcast: The Technology of Blockchain & Cryptocurrencies with Judith Alison Lee of Gibson Dunn (Part 1)

Originally published in the Legal Executive Institute.

By Joseph Raczynski, Gregg Wirth, and Judith Alison Lee

In the first part of our podcast on the technology behind blockchain and cryptocurrencies like Bitcoin, I speak with Judith Alison Lee, a partner in the Washington, D.C. office of Gibson Dunn & Crutcher and Co-Chair of the firm’s International Trade Practice Group.

Among her other areas of expertise, Ms. Lee advises clients on Gibson Dunn

issues relating to virtual and digital currencies and related blockchain technologies.

Judith Alison Lee of Gibson Dunn & Crutcher

 


How to Launch an ICO Token on Ethereum in 90 Minutes

By Joseph Raczynski

So you want to have your own cryptocurrency, eh?  It is surprisingly not too cumbersome to create.  If you have some very basic coding skills, general understand of a digital wallet, and the ability to follow point by point instructions, this should take about 90 minutes.  I will guide you through the process of launching your own token to fund your company, or more than likely simply test how to create an Ethereum (ERC20) token.  I am not responsible for anything that comes from your use of this code or the outlined process.  Use at your own risk.

Recently I was asked to put together a more formal booklet on how someone could technically launch an ICO (Initial Coin Offering) in order to create a blockchain enabled cryptocurrency.  I wrote up all of the various components and loads of caveats around all of the considerations.  In order to do this properly, you should have a full blown business plan, marketing master plan, have sought legal compliance, and a whole host of other services.  To that end, there is a new cottage industry surrounding taking companies through the ICO process.  ICO Box is one such company that specializes in this end to end consulting.

For the sake of this guide, I will walk you through all of the steps to create your first token for your project right here.  Some context, I based this off of my upcoming ICO for DC WiFi as the example.

Part 1: You will need the following:

  • Buy some ETH (if you are new to this, buy it from Coinbase)
  • A text editor for your code modification (Open a Text file on Windows)
  • Download a digital wallet (MetaMask)
  • Easy Compilier (via the web Solidity Remix IDE Compiler)

Part 2: Business Decisions

You shockingly need very little to get started with your token creation.  You will need four pieces of information;  1) Name of the Token, 2) Token Symbol (like a stock ticker), 3) The Token Decimal Places (making the token divisible), and 4) The total number of tokens in circulation.

In short:

  1. Number of Tokens You Will Assume (Will be all of the coins initially)
  2. Total Tokens in Circulation (ranges from 10,000 to 1,000,000,000)
  3. Name of the Token
  4. Token Decimal Places (usually 18 places)
  5. Token Symbol (use three or four letters)

My real example: (see live)

  1. Number of Tokens You Will Assume = 1,000,000,000
  2. Total Tokens in Circulation = 1,000,000,000
  3. Name of the Token = The Joerazz Crypto Token of Greatness 
  4. Token Decimal Places = 18
  5. Token Symbol = JoRa

Part 3: The Contract Coding

Now that you know the basics, copy and paste all of the code below into your your code editor, or a text document.  Simply focus on changing the five facets from above in the red section of code below. 

pragma solidity ^0.4.4;

contract Token {

    /// @return total amount of tokens
    function totalSupply() constant returns (uint256 supply) {}

    /// @param _owner The address from which the balance will be retrieved
    /// @return The balance
    function balanceOf(address _owner) constant returns (uint256 balance) {}

    /// @notice send `_value` token to `_to` from `msg.sender`
    /// @param _to The address of the recipient
    /// @param _value The amount of token to be transferred
    /// @return Whether the transfer was successful or not
    function transfer(address _to, uint256 _value) returns (bool success) {}

    /// @notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from`
    /// @param _from The address of the sender
    /// @param _to The address of the recipient
    /// @param _value The amount of token to be transferred
    /// @return Whether the transfer was successful or not
    function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {}

    /// @notice `msg.sender` approves `_addr` to spend `_value` tokens
    /// @param _spender The address of the account able to transfer the tokens
    /// @param _value The amount of wei to be approved for transfer
    /// @return Whether the approval was successful or not
    function approve(address _spender, uint256 _value) returns (bool success) {}

    /// @param _owner The address of the account owning tokens
    /// @param _spender The address of the account able to transfer the tokens
    /// @return Amount of remaining tokens allowed to spent
    function allowance(address _owner, address _spender) constant returns (uint256 remaining) {}

    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
    
}

contract StandardToken is Token {

    function transfer(address _to, uint256 _value) returns (bool success) {
        //Default assumes totalSupply can't be over max (2^256 - 1).
        //If your token leaves out totalSupply and can issue more tokens as time goes on, you need to check if it doesn't wrap.
        //Replace the if with this one instead.
        //if (balances[msg.sender] >= _value && balances[_to] + _value > balances[_to]) {
        if (balances[msg.sender] >= _value && _value > 0) {
            balances[msg.sender] -= _value;
            balances[_to] += _value;
            Transfer(msg.sender, _to, _value);
            return true;
        } else { return false; }
    }

    function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {
        //same as above. Replace this line with the following if you want to protect against wrapping uints.
        //if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && balances[_to] + _value > balances[_to]) {
        if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && _value > 0) {
            balances[_to] += _value;
            balances[_from] -= _value;
            allowed[_from][msg.sender] -= _value;
            Transfer(_from, _to, _value);
            return true;
        } else { return false; }
    }

    function balanceOf(address _owner) constant returns (uint256 balance) {
        return balances[_owner];
    }

    function approve(address _spender, uint256 _value) returns (bool success) {
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
      return allowed[_owner][_spender];
    }

    mapping (address => uint256) balances;
    mapping (address => mapping (address => uint256)) allowed;
    uint256 public totalSupply;
}


//name this contract whatever you'd like
contract ERC20Token is StandardToken {

    function () {
        //if ether is sent to this address, send it back.
        throw;
    }

    /* Public variables of the token */

    /*
    NOTE:
    The following variables are OPTIONAL vanities. One does not have to include them.
    They allow one to customise the token contract & in no way influences the core functionality.
    Some wallets/interfaces might not even bother to look at this information.
    */
    string public name;                   //fancy name: eg Simon Bucks
    uint8 public decimals;                //How many decimals to show. ie. There could 1000 base units with 3 decimals. Meaning 0.980 SBX = 980 base units. It's like comparing 1 wei to 1 ether.
    string public symbol;                 //An identifier: eg SBX
    string public version = 'H1.0';       //human 0.1 standard. Just an arbitrary versioning scheme.

//
// THIS IS WHAT YOU NEED TO DO - CHANGE THE BELOW TO REFLECT YOUR CHOICES FROM WHAT YOU CHOOSE ABOVE IN RED
//

//make sure this function name matches the contract name above. So if you're token is called TutorialToken, make sure the //contract name above is also TutorialToken instead of ERC20Token

    function ERC20Token(
        ) {
        balances[msg.sender] = NUMBER_OF_TOKENS_HERE;               // Give the creator all initial tokens (100000 for example)
        totalSupply = NUMBER_OF_TOKENS_HERE;                        // Update total supply (100000 for example)
        name = "NAME OF YOUR TOKEN HERE";                                   // Set the name for display purposes
        decimals = 0;                            // Amount of decimals for display purposes
        symbol = "SYM";                               // Set the symbol for display purposes
    }

    /* Approves and then calls the receiving contract */
    function approveAndCall(address _spender, uint256 _value, bytes _extraData) returns (bool success) {
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);

        //call the receiveApproval function on the contract you want to be notified. This crafts the function signature manually so one doesn't have to include a contract in here just for this.
        //receiveApproval(address _from, uint256 _value, address _tokenContract, bytes _extraData)
        //it is assumed that when does this that the call *should* succeed, otherwise one would use vanilla approve instead.
        if(!_spender.call(bytes4(bytes32(sha3("receiveApproval(address,uint256,address,bytes)"))), msg.sender, _value, this, _extraData)) { throw; }
        return true;
    }
}

This code is from the good people at Code-Factory.  You can see if they have any newer code here. The above code is displayed in three parts, combined into one section for ease here.  The code is from February of 2017, v 0.4.4.

When you are filling in the four fields, one funky aspect that you will want to pay attention to is the decimal portion.  Examples: If I wish to create 1,000,000,000 billion tokens and I want 18 decimal points, then I have to add 18 zeros onto the 1 billion number.  This number is added to two fields in your code.  So for 1 billion coins with 18 decimals point would look like 1000000000000000000000000000 and do not add commas to your code.  Another example, if you do not want any decimal points then you would not add any extra zeros.  Last example on this, if you want 8 decimal points, you would add 8 zeros to the 1,000,000,000 billion so it would look like 100000000000000000.  Most cryptocurrencies have 18 decimals.

  • Number of Tokens You Will Assume = 1000000000000000000000000000
  • Total Tokens in Circulation = 1000000000000000000000000000

Part 4: Testing via Ropsten Test Net

It is time to take your modified code – all four lines – and test it out.  You could test this in Ethereum’s live environment, but that would be a waste of money (a few dollars up to $8) for each time it doesn’t work.  So make sure you are on the TestNet of Metamask.

Download MetaMask Chrome plugin.  This is a digital wallet which can store Ethereum bmetamaskased tokens (ERC20), like the one you are going to make.  You can also deploy smart contracts via this robust little app.  MyEtherWallet, is also another option, but for this overview, I am using MetaMask for ease.

 

 

 

When you create any digital wallet, the seed (a bunch of random words) is something that you will want to take the utmost care around securing.  If you lose these words (essentially your password) you will lose complete access to your wallet on the blockchain and there is no way to recover this – none.  So keep it safe and secure – preferably offline.

The next step is to drop your doctored code into a compiler, which reviews the code for errors, identifies code that could be better defined, and then publishes that code directly to Ethereum’s blockchain.  Click on Solidity Remix IDE Compiler and copy and paste the code you modified in your text editor into the compiler.

Open your MetaMask wallet, which should be a tiny icon on the upper right corner of Chrome.  When it is open, make sure you change the network to “Ropsten TestNet” by clicking the little arrow.

testnet

Once you do this, you will need to add fake ETH to the TestNet.  Since this is a test network, you get free fake ETH from the network, but you have to request it.  If you don’t have any of the foe ETH, you will not be able to send your contract to the blockchain.

code

If you get a bunch of yellow errors in the right panel, don’t worry, these are cautionary and not fatal.  It may look like this.  Again, it should pose any problems.

errors

Next you will need to go to the actual version of the compilier and make sure you are not using a “nightly” version.  It defaults to the correct version for me, but just make sure it does not say “nightly”.  The arrow drop down is where you can change the version, if necessary.  Make sure you write down which version you choose, as you will need this later.

version

Now head back to to the “Run” tab on the same screen and click “Create”.  What is fascinating is that the compiler automatically connects to your MetaMask Wallet in your browser to create the contract.  As previously mentioned, more then likely the first time you do this you will have to request or add fake ETH to the TestNet.  Since this is a test network, you get free fake ETH from the network, but you have to request it.  If you don’t have any of the foe ETH, you will not be able to send your contract to the blockchain.  This sometimes take a bit of finagling.

So below, click “create” and the MetaMask wallet will pop up over your browser.  As mentioned, if you don’t have any fake ETH, will ask you to generate them – request 1 ETH.

run

Click “Submit” to generate the contract.

confirmcontract

Now click on the date listed below and it will take you to the live generation of the contract via Etherscan.

wallet confirm

If all went well, you will see something like the below.  A green check is great.

success

If you made it this far, now it’s time to load your tokens into your wallet.

Part 5: Loading New Token in Your Wallet

contract

Grab (copy) your contract address which will be different than what you see above and go to MetaMask.  Click “Add Token”

tokenadd

You should see the following where you enter your Contract Address which you copied from Etherscan.  Also add the Token Symbol and Decimals and click “Add”.

token18

There you go!  It should be added to the list.  I have 1 billion JORA tokens now.

listoftokens

Part 6: Verify Your Code

One item, which is not essential, but shows that you are not too shady is verifying the code you used.

On the Etherscan page, where you have the contract ID, click on that link.

contract

Then on the following page look for the “Contract Code” tab and click “Verify And Publish”

proof

The next screen will look like this with the contract ID already populated.  You need to fill in the “Contract Name” with “ERC20TOKEN”, then select the correct “Compilier” – make sure it is the same version you wrote down earlier which is not the “nightly” and change “Optimization” to “No”.  Then copy and paste the whole section of code from the compilier into the big text box.  Forget all of the other parts and click “Verify” at the very bottom of the page.

verify2

Now if that all worked, you should get the following:

finalconfirm

If that all worked, you are good to go!  The next part is actually doing on the real official Ethereum blockchain.

Part 7: Launch Your Token on Prod

Now simply go through the same process by on the live Main Network site.  So go to MetaMask and hit the drop-down box and change it to “Main Network”.

mainnet

Now go through Part 4 – 8.  You will need ETH for this final stage.

Part 8: Verification:

If you want to be verified, look to do so by filling in the following information on Etherscan.  This is vetted by the organization so you do need this to be approved for this portion.

To update your ERC20 token information please provide us with the following information:

Firstly, check that your token contract source code has been verified.

1. Contract Address: 0xd5XXXXXXXXXXXXXXXXXXXXXXXXX

2. Official Site URL:

3. Link to download a 28x28png icon logo:

4. Official Contact Email Address:

5. Link to blog (optional):

6. Link to reddit (optional):

7. Link to slack (optional):

8. Link to facebook (optional):

9. Link to twitter (optional):

10. Link to bitcointalk (optional):

11. Link to github (optional):

12. Link to telegram (optional):

13. Link to whitepaper (optional):

14. CoinMarketCap Link (PriceData):

 

That is it!  Please let me know how this goes for you.

 

 

Reference @maxnachamkin