cryptodailytrading.com

Top 12 Highest-Paying Blockchain Jobs in 2019

  • Vera Thornpike
    📚 WikiCoin

    Are you a confident programmer and blockchain expert? Then opt for one of these Top 12 blockchain jobs with great salaries! Check out corporations' requirements and perks that they offer


Top 12 Highest-Paying Blockchain Jobs in 2019
You may also like:
Contents

The blockchain industry is evolving as quickly as nothing else in this world. Although it started making waves recently, today, there are hundreds of organizations aiming to implement this technology. Thus, the demand for blockchain specialists is rocketing.

Who can qualify for a position in blockchain companies, and how much do they pay their specialists? Check out these Top 12 highest-paying blockchain positions to find out whether you can be the next to join a startup or some blockchain-related corporation.


Skills you should have to qualify for a blockchain job

Since blockchain is a very complex, complicated phenomena, only the most tech-savvy guys can dream of a worthy job in a decent start-up or a well-developed company. To qualify for such work, one should possess a unique set of skills and abilities which are, undoubtedly, irreplaceable.

Essential skills for blockchain developers
A blockchain developer should possess a broad range of skills and abilities

Essential comprehension of the blockchain

For instance, one should understand how blocks and chains are comprised, and know that there’s no central control arrangement. Do you know the nuts and bolts of the mining process? Do you comprehend what 'decentralized' signifies, and how the ‘consensus’ is reached?

If you’re in the dark about such phenomena or aren't sure concerning what they are, it’s a must to take a course and acquire essential skills. Without a fundamental understanding of these subjects, you cannot be involved in blockchain programming.

Knowledge of cryptocurrencies

Well, it’s clear that cryptographic money and blockchain are interconnected, and you can grasp a lot of useful information from the existing use cases of decentralized applications. Thus, it won’t hurt to have some basic comprehension of how cryptographic money functions. There’s no need to take costly courses for that: there are a lot of online resources explaining the essentials of cryptocurrency; don’t forget to take a look at digital currency infographics, too.

👉MUST READ Best 10 Blockchain Books 2019: 10 Books You Should Read First
Best 10 Blockchain Books 2019: 10 Books You Should Read First

Ability to achieve business results

It's critical to keep in mind the whole business plan when you're utilizing blockchain so that it could be used to channel the business towards its objectives. Blockchain devs need to work in cooperation with employees and teammates to accomplish satisfactory results.

If you feel you lack abilities to work in collaboration with the authority group, you should consider developing your social skills. This will demonstrate you are devoted to the business and stay interested in the company’s success.

True belief in blockchain’s potency

Innovations and groundbreaking discoveries are always made by people who believe in the potency of their ideas. Whatever you are programming together with your colleagues, you should sincerely believe in what you do. Devoting yourself completely to the project and trusting that it’ll be successful in the future (at least, in the online world) will empower you to improve your developmental abilities. Only eager, enthusiastic workers manage to make something truly great.

Pick a language

When it comes to the blockchain, ideally, you should know several programming languages. Have you heard that developers should rather use Java than HTML for decentralized technologies? In fact, there’s a huge amount of programming languages for blockchain, and learning new ones will never hurt.

To be a blockchain developer, you should know at least several programming languages
Each blockchain framework requires some certain programming language

Be an expert!

This doesn’t occur quickly, but gradual methodical work will help you to become a real engineering expert, which can be the secret of getting a lucrative profitable job. To accomplish that, it’s not enough to have essential knowledge – you should also know the advanced blockchain spheres of application, adapt and adjust to diverse business situations.

Being a great specialist means building up your professional qualification on a constant basis while growing your knowledge about the job, remembering that blockchain is still developing, so your frame of mind could be changing towards productivity and adaptability.

Understanding blockchain's application

Blockchain can be ideal for rearranging the existing business operations. It isn't really a way to replace procedures and ERP frameworks; numerous organizations are planning to increase scaling, profitability, and efficiency.  

Working in synergy with other technologies, blockchain innovations can serve to expand possibilities and add new features. In view of this, you should comprehend blockchain's place in some certain business and apply your abilities to certain situations.

👉MUST READ In Blockchain We Trust: The Simplest Ways to Invest in Crypto and Blockchain in 2019
In Blockchain We Trust: The Simplest Ways to Invest in Crypto and Blockchain in 2019

Top 9 blockchain-related jobs 2019

With blockchain knowledge, there are many positions you can apply for. Let’s check out the most alluring variants offered by different companies in 2019.

1. Software Engineer

Any organization putting resources into blockchain needs programming specialists, making this activity very highly demanded among organizations around the world. The duties and requirements will vary depending on organization's current technological basis. What you will definitely need is experience with such languages as Solidity and HyperLedger, knowledge of cloud technologies, database management.

Most organizations are looking for people with some certain degree in computer sciences, software design, or other science degrees, particularly for jobs with a high salary. Typically, software engineers are required in companies working with smart contracts and banking organizations.

2. Tech Architect

The position requires specialized technical aptitude coupled with communicative skills. Blockchain architects are responsible for coordination and introduction of blockchain products. They partake in dialogs on how technological advancements will be executed and frequently serve as an intermediary between the organizations and the clients to present a product in the best light.

To create applications, a tech architect should know coding languages, and software engineering degrees are commonly must-have for senior positions.

Relevant spheres are cloud and web-based services, digital money and services.

3. Product Manager

These people help to maintain and promote an application being responsible for development, coding, and distribution of related roles. They coordinate the project over various groups, guaranteeing that products are released according to schedule and the budget isn’t exceeded. Programming background is commonly not needed, yet basic knowledge of software and coding languages would be useful. Such a person should know how to lead time-sensitive projects and managing the dev budget.

Needed education depends upon the particular products created by each organization, however, by and large, good applicants will have at least a bachelor’s degree in technology. Alternatively, management and business-related education is taken into account. Corporations in need of blockchain product managers are usually related to advertisement, media, digital currency, and finances.

4. Risk Analyst

Guaranteeing consistency with local and governmental laws, a risk analyst deals with many tasks. Aside from assessing risks, they help in programming and product improvement, performing information analysis or keeping up documentation on innovations and projects.

The required training will depend totally on the job specifications. Solid understanding of the the project, technologies and certain coding languages are required.

Most often, risk analysts work in financial and governmental enterprises.

👉MUST READ Waves Labs Starts Twitter Contest for Developers, Offering a 1,000 WAVES Reward
Waves Labs Starts Twitter Contest for Developers, Offering a 1,000 WAVES Reward

5. Analyst Relations Manager

Essentially, this is a media communication job: an analyst relations supervisor helps to establish the image of the organization and its innovations on the market. Such person performs the analysis inside the business sphere and makes sure that the entire team knows about their employer’s technologies and have a positive view of their company.

Appropriate workers should have some background in media interaction, communication, PR or news-casting, and profound comprehension of the business and technology.

Where is PR knowledge essential? Companies involved in innovation and technology implementation require such workers.

6. Front End Engineer

This is the individual who makes product interface and whatever the client interacts with. A front end engineer works on making the menu and functions ideal for a user. Programming knowledge is required, and UX/UI design skills are an absolute necessity. The knowledge of coding languages depends on the company, yet for the most part, blockchain front end designers should be savvy in ledger tech and advanced coding languages.

As for the education requirements, degrees in software engineering are useful, yet self-trained computer specialists with programming skills are welcomed. Such specialists are often required in businesses that incorporate monetary standards, loaning and finance, and medical services.

7. Legal Counsel

In an industry loaded up with lawful and administrative confusion, security issues and client protection rules, potential clashes over innovation license (including blockchain codes and algorithms), legal counselors are in tremendous demand. Such lawyers don't have to be tech specialists, however, they should possess a profound comprehension of the fundamental innovations to protect the company from all legal issues more efficiently. Knowledge of financial laws is important, as well, as blockchain organizations are frequent targets for buying by bigger organizations.

Ideal candidates have: 1) corresponding degree; 2) license, and most organizations will pay attention to the experience of dealing with similar startups. Since regulations and law issues are always a threat to any blockchain organization, you can find work in many fields.

8. Business Analyst

Utilizing analytical instruments, business analysts should evaluate the viability and efficiency of innovations and their upgrades. These people likewise monitor the market patterns and trends to figure out how the brand should be positioned, and which new products will appeal to the audience. Knowledge of statistics and analytics instruments and coding languages (especially Python and ones alike) is obligatory.

For serious jobs, software engineering or computer science experience is necessary, and knowledge of coding languages is a must. Most positions for business experts in blockchain are the creation of customer-facing services and products since this market is evolving quickly.

👉MUST READ Top 10 Blockchain Stocks to Invest in 2019
Top 10 Blockchain Stocks to Invest in 2019

9. Crypto Community Manager

An essential element in marketing and client interaction, blockchain network administrators establish the brand in the Net and social media, and create the content to respond to clients' typical inquiries. They are in charge of tracking and presenting engagement statistics over all channels. Even though not accountable for programming, they should comprehend the project and fundamental technologies.

Having a degree won't be critical, yet desirable candidates should have some decent education. In startups, you might have a good chance to get the new experience and learn the blockchain essentials.

Who hires crypto community managers? Enterprises who deal with customers, especially banks and blockchain recruiting companies.

Positions from top companies

Let’s check out the blockchain positions offered in the world’s leading corporations.

10. Blockchain Software Engineer (IBM)

IBM needs a programming engineer who can take care of the company’s issues with frameworks and integrations.

The list of duties includes:

  • Working well together with a small dev team and all other engaged colleagues, as well as people from various companies.

  • Rapidly figuring out how to plan and execute improved blockchain apps.

  • Creating smart contracts in Golang and managing integration with node.js.

  • Developing and testing the product to quickly implement all related functions.

Skills and qualifications are the following:

  • At least 2 years experience of cloud app creation utilizing Node.js, web apps, REST tools

  • Experience working with Agile

  • Knowledge of DevOps tools, for example, Jenkins, TravisCI, and Selenium

  • Ability to solve problems and interact with stakeholders wise

For this position, IBM pays $68k – $106k Annually.

👉MUST READ 10 Major Blockchain Trends in 2019
10 Major Blockchain Trends in 2019

11. Blockchain Principal Program Manager (Microsoft)

Microsoft is seeking a program administrator who has a profound comprehension of how clients utilize decentralized ledger technologies, as well as other services (storage, database, computation, and networking) in Azure for creating their applications.  

The capabilities that such individual needs are:

  • BS or Master's Degree in Computer Science or similar areas

  • MBA favored yet not obligatory

  • 10+ years of working in software management and development

  • 6+ years of working with developing and running services

  • The ability to collaborate and communicate with teams efficiently

  • Compliance with deadlines, self-discipline, and attention to details

  • Focus on customers and the ability to coordinate teams and experiences

  • Technical expertise and communicative skills for working with technical teams

Microsoft promises the salary in the range of $91k – $131k annually for such specialists.

If you need a higher income, you can also opt for the position of a Blockchain SI Partner Development Manager ($109k – $172k annually). This job implies working with the Systems Integrator (SI) team and partners to develop and promote the product.

12. Blockchain experts (Visa)

Visa is looking for versatile blockchain specialists to integrate a blockchain framework into their system of international banking.

What are the capabilities required for the activity?

  • Experience working with Trade Finance, Equities, Payments Processing, Wholesale Credit

  • Technical knowledge and expertise to work with platforms

  • Cloud engineering and creation of scalable solutions

  • A BS in Computer Science

  • Over  2 years of developing distributed software

  • Hands-on involvement with all elements of programming development: UI, open-source software; servers, and data

  • Profound knowledge of Linux, Open source, C++ or Java, customer server applications

  • Enthusiasm for Fintech technologies, open source (OSS) programming, blockchain, cryptography, and information science

  • Willingness to deal with Test-driven programming and passion for consistent learning

  • Overall Industry experience must be 6-8 years

Primary obligations of the position are:

  • Lead various Blockchain activities

  • Direct customers and present the business

  • Write code

  • Work with blockchain POCs

  • Stay in the know about blockchain advances

  • Help the company to maintain a relationship with Hyperledger

The salary isn’t revealed. Most probably, it will depend on the certain position and obligations. Undoubtedly, Visa will provide a generous income for the worthiest workers.

👉MUST READ Blockchain Transfers Are 388 Times Faster Than Mainstream Remittance Services
Blockchain Transfers Are 388 Times Faster Than Mainstream Remittance Services

So, how much do blockchain experts make?

It depends not only on the position – the geography matters, too. For instance, the average annual income for a blockchain developer in Asia is $87,500 per year (the lowest threshold is $60,000 and the highest is $120,000).

The average annual income for a blockchain developer in Europe is $73,300 per year (the lowest threshold is $55,000 and the highest is $91,000). For instance, in Great Britain, startups are paying new blockchain developers up to $50,000-60,000 a year, and large companies pay from $90k to $140k.

The average annual income for a blockchain developer in the U.S. is $136,000 per year (the lowest threshold is $70,000 and the highest is $200,000).

The average base salary for a remote blockchain developer is $123,750 (it ranges from $70,000 to $200,000).

Average salary of different blockchain specialists
The average salary of blockchain specialists in the US

Middle management & freelance jobs are getting more popular

Huge associations additionally augment their middle management as they center around Big Data, blockchain, mobile, and tablet connectivity. Positions are related to online stores, application security development, big data, mobile framework management, and quality control.

Blockchain development skills are among the most highly demanded on the market developing over 6000% since the last year. It’s called the new "cloud" of the XXI century, as indicated by UpWork’s report (freelance job site). The average pay rate for a blockchain specialist is $65 per hour, but some rates can be as high as $250 every hour!

According to the recent statistics, there were 5,743 full-time job positions for blockchain experts posted over a year's time length; that means the development of 320%.

Individuals with experience of working with specific blockchain products, for example, Solidity and Hyperledger Composer are very highly demanded – and that demand is growing consistently.

And this demand is high not only among well-established organizations like Deloitte: about 2,359 blockchain startups have published new jobs, as indicated by AngelList, a site for investors and people planning to join startups.

👉MUST READ PayPal Makes Its First Investment in Blockchain
PayPal Makes Its First Investment in Blockchain

Blockchain companies lack young talent!

Evidently, the industry is in dire need of talent – companies lack specialists because blockchain is a new sphere. As indicated by Upwork, 53% of HR managers claim that the lack of skills is their greatest challenge, and the larger part (59%) are aiming to use flexible talents.

All in all, the demand for specialists with PC/mathematical aptitudes surpassed supply by 17% this year, as indicated by Burning Glass Technologies.

What does it mean for you? The sooner you enter the industry, the higher is your chance to reach mind-blowing career heights later. A lot of startups are very loyal to the new employers, so they can be the right thing to start your career path of a blockchain specialist, be that engineer, lawyer, project manager, etc.

Compare the salary for blockchain positions

Here are some statistics about the salary of blockchain experts and the list of companies who need such people:

Position

Average salary

Who hires

Software engineer

$90,000-$145,000

Chronicled (San Francisco), Axuall (Cleveland), Blockstack (New York)

Tech architect

$100,000-$160,000

Amazon/AWS (Seattle and Los Angeles), Bank of America (Charlotte, North Carolina), State of Colorado (Denver)

Product manager

$85,000-$130,000

Mediaocean (New York), JP Morgan Chase (New York), Cynet Corp. (Springdale, Arkansas)

Risk analyst

$85,000-$105,000

Veem (Ottawa), Bank of America (Jacksonville, Florida), Electric Power Research Institute (Knoxville, Tennessee)

Analyst Relations Manager

$50,000-$125,000

IBM (New York), Accenture (Atlanta, Chicago, Washington, D.C.), R3 (San Francisco)

Front End Engineer

$70,000-$125,000

Gem (Los Angeles), Binance (Austin, Texas), Ford Motor Co. (Dearborn, Michigan)

Legal Counsel

$100,000-$190,000

Consensys (New York), BitGo (Palo Alto, California), Figure (San Francisco)

Business Analyst

$80,000-$105,000

 

IBM (Research Triangle Park, North Carolina), NuArca (Woburn, Massachusetts), Bittrex (Washington, D.C.)

Crypto Community Manager

$35,000-$95,000

 

Dolare (South Bend, Indiana), Zeus Protocol (San Francisco), Crowdcreate (Los Angeles)

UX/UI blockchain designer

$80,000-$140,000

-

As you see, the opportunities are endless, and the profit is more than decent. The income of a blockchain specialist exceeds the average annual income per one person in the US (it’s around $60,000).

👉MUST READ Blockchain in the Supply Chain: Applications, Benefits, and Prospects Going Forward
Blockchain in the Supply Chain: Applications, Benefits, and Prospects Going Forward

Conclusion

There's a decent selection of blockchain-related jobs, and if you're confident about your knowledge of blockchain technologies and programming, it's a golden chance! If you're new to the blockchain, but want to continuously learn the subject and master new skills, consider such a job, too. The blockchain sphere has only started evolving, and who knows for how long it will be relevant for humanity? The earlier you start exploring the technology, the better advantage you'll have over your competitors.

Requirements might seem challenging, but it's totally worth it! As you see, the salaries start from $80,000 and go beyond $120,000, so your efforts will be paid off generously. Today, you can work with well-established companies, or join some startup where gaining authority and trust is a bit easier. The blockchain world is full of possibilities, so feel free to explore them!

Cover image via u.today
Subscribe to U.Today on Facebook, and get involved in all top daily cryptocurrency news, stories and price predictions!
👓 Recommended articles

How to Learn Solidity and Start Blockchain Programming

  • Eric Croix
    📚 WikiCoin

    If making an Ethereum-based dApp or creating an ERC20 standard token sounds compelling to you, than you need to learn the language called Solidity. In our tutorial we provide you with the foundation of coding smart contracts


How to Learn Solidity and Start Blockchain Programming
You may also like:
Contents

Blockchain programming has become one of the best paying and challenging software spheres during the recent decade. Although blockchains are language-agnostic and many of the existing languages, like C++ and JavaScript (JS), are used by blockchain engineers, there are some tasks that couldn’t be conveniently realized by existing languages, which opened up the demand for new, crypto-specific options. One such language is Solidity.

Solidity was born as a core part of the Ethereum ecosystem. It absorbed C++, JavaScript, and Python. It has many contemporary features like libraries and inheritance. Solidity is designed to write programs that interact with Ethereum accounts, which are called smart contracts. Smart contracts are executed on Ethereum Virtual Machine (EVM), enabling users utilizing them perform tasks like crowdfunding, blind auctions, voting, and many others in a decentralized manner. The most famous killer-app of smart contracts was decentralized funding in ICOs, which started the bull rally on the crypto markets in 2017.

👉MUST READ No Dice: Ethereum Loses dApps Race to EOS and Tron
No Dice: Ethereum Loses dApps Race to EOS and Tron

Whether you are an experienced developer or just starting out in crypto, it’s a good idea to start learning Solidity because smart contracts have become a crucial part of the blockchain ecosystem. Aside from being actively implemented by dApps, they are being actively integrated into infrastructure-layer blockchains and even in Bitcoin via providers like RSK. By knowing how to build smart contracts you will make your blockchain career more sustainable and be able to produce better quality solutions. Let’s not pull it off any longer and get our hands dirty with coding!

Understanding the basics of a smart contract

A smart contract account consists of three sections: balance, storage, and code. The balance represents how much Ethereum a smart contract has. Storage holds data like strings and arrays that are specific to an application. The code section has the raw machine code that is compiled from what we write in Solidity.

Unlike user accounts, smart contract accounts are not external to the respective networks. In other words, you can use your wallet with various networks like Kovan and Ropsten, but you can’t do this with a smart contract. Smart contracts are internal.

Each smart contract has a source, which is stored on an author’s device and instances, which are stored on the blockchain. In order to create an instance (account) of a smart contract, we need to deploy it to the network. It very much resembles the relationship between classes and instances in traditional object-oriented programming (OOP) and languages representing it (JS, Ruby). To give you a more visual representation, let’s create a class ‘Bike’ and add an instance of it.

Bike class & instance

Bike class & instance

Source: Image by U.Today

What we will be writing is a contract definition, which will then run through a compiler that will produce two files: bytecode and application binary interface (ABI). Bytecode is what will be actually fed to the EVM and ABI is a layer between bytecode and regular JavaScript code that allows building a user interface (UI).

👉MUST READ Blockchain Programming: How Many Programming Languages Do You Need for Blockchain?
Blockchain Programming: How Many Programming Languages Do You Need for Blockchain?

Choosing an IDE & version of Solidity

Before we start, we need a proper integrated development environment (IDE). In other terms, we need a convenient terminal with the necessary tools to write our code in. For the purposes of this tutorial, we will pick Remix, an IDE created by the Ethereum foundation that allows writing, testing, debugging, launching smart contracts and many more. You can use it either straight in the browser or download it locally if you would like.

Once you launch Remix, you will be presented with the code editor in the center, the file manager on the left, and a compiler on the right.

Initial Remix window

Initial Remix window

Source: Image by U.Today

There will be some pre-written code – we won’t need that. To create out first-ever smart contract let’s press on the little plus icon in the top-left corner of the terminal and give it a name.

Creating a new project in Remix

Creating a new project in Remix

Source: Image by U.Today

As we have the blank .sol document now, we should specify the version of Solidity that the compiler will run. At the time of this tutorial, the latest version is 0.5.7. If you are not sure which version to use, you can specify a range of versions.

2 types of specifying the version of Solidity

2 types of specifying the version of Solidity

Source: Image by U.Today

Lastly, let’s give our smart contract a name, followed by a parenthesis.

Smart contract naming

Smart contract naming

Source: Image by U.Today

Writing your first smart contract

Once we have our canvas ready, it’s time to define the basic building blocks – variables. While experienced software engineers will have no issues understanding this concept, we will briefly introduce it to beginners. Variables are placeholders for chunks of information that are later referenced by a program that runs them.

👉MUST READ Blockchain Developer Salaries. Top Job Offers of Blockchain Companies
Blockchain Developer Salaries. Top Job Offers of Blockchain Companies

Let’s create a couple of variables: a string (a sequence of symbols) and an integer (a number). In Ethereum’s case, variables are stored in the blockchain along with the rest of parts of contracts and can, therefore, be accessed and updated from anywhere. Another key characteristic of Solidity variables is that you can make them private by writing ‘private’ next to the variables. Finally, for the integers, Solidity has two types: signed (can be positive & negative) and unsigned (can only be positive). To specify an unsigned variable, we should just put ‘u’ before it.

A private string and an integer

A private string and an integer

Source: Image by U.Today

Once we have the ‘name’ variable, we need to write out the methods of setting and getting it. This looks like a JS function. Remember that Solidity is statically typed, so we have to define variable types. Now any value we put in the ‘setName’ will define the ‘name’ string. For the getter, we will use ‘getName’ and specify what variable we expect to see. Now, it’s time to do the same for the ‘age’ variable. The method is constructed similarly to the ‘getName’.

Name/age setters and getters

Name/age setters and getters

Source: Image by U.Today

Let’s test our little chunk of code. Go to the ‘Run’ tab of the compiler and press ‘Deploy’ under your contract’s name. At the very bottom of the compiler, you will now see the ‘Deployed Contracts’ section that has our methods available. In order to pass a name to the ‘newName’ value, we need to make sure that our string is written in JSON, otherwise, the ‘getName’ will return nothing. For the ‘setAge’ just put your age without quotes. As you see, we can now set and receive the ‘name’ and the ‘age’ variables through our smart contract.

Compiler, with a name and an age

Compiler, with a name and an age

Source: Image by U.Today

Defining Wei and Gas

One of the most remarkable features of smart contrasts is that to deploy them to the Ethereum network you will need to initiate a transaction, which costs some amount of money that is paid in Ether. It’s crucial to understand how the fees are utilized in the system, as they will be deducted each time you interact with EVM.

What’s Wei?

Let us assume that reading this far into our tutorial you have used Bitcoin at least once. You probably made a small transaction that was way less than 1 BTC. In that case, you used Satoshis, which are something like pennies for a dollar. Wei is like a Satoshi – it’s the smallest part of 1 Ether. If we think of it in programming terms, it’s the lowest unsigned integer in the network. While interacting with the network, you will mostly encounter Gwei, which refers to Gigawei and equals 1 billion Wei.

👉MUST READ Vitalik Buterin Suggests Wallet Users Should Pay Higher Fees to Fund Devs
Vitalik Buterin Suggests Wallet Users Should Pay Higher Fees to Fund Devs

What’s Gas?

Gas is an essential part of the mechanism of smart contract execution. It has two values for each transaction: Gas consumed and its price. It’s worth mentioning that a user initiating a transaction defines these values. However, if the set value of Gas won’t be enough to process a specific operation, then the Gas will be consumed, but the transaction will fail. Moreover, if the price for Gas will be set too low for the network at a given time, the transaction will not be processed by the nodes, eventually making it unsuccessful. There are several services to check optimal values for your transactions, one of them being ethgasstation.info. To get a better understanding of Gas and why it costs any money, let’s code some of it by ourselves.

Get back to your Remix window and initiate a new file. In our example, we will call it ‘Gas’ and create a contract with the same name. Bear in mind that the more data we will require to store on the blockchain, the more Gas we will need. That being said, for the purpose of this tutorial we will create a cheap contract; the more you will add to it, the higher the fee will be.

There will be a function that returns an integer that is a sum of two inputs. To make it as lightweight as possible, we will specify that our contract will store nothing on the blockchain, and for that we will put ‘pure’ next to the function.

Cheap contract

Cheap contract

Source: Image by U.Today

Now you can deploy it in the compiler and input any two numbers to get the integer ‘c’. To check the price of our transaction we should take a look at the terminal located beneath the code section. There is a transaction cost and an execution cost. The first one refers to how much data a transaction has. The second one refers to how much of EVM’s power was required by the transaction.

Cheap contract’s cost

Cheap contract’s cost

Source: Image by U.Today

This is an extremely basic transaction that costs almost nothing for the network. In writing meaningful smart contracts you will add more details, which will increase their weight and therefore transaction fees.  

Creating & deploying your own ERC20 token

Let’s face it, the majority of the blockchain developers that are just starting out are eager to play big and create their own blockchains and tokens. While this is an extremely difficult topic that attracted some of the best software engineers from other spheres, building a basic ERC20 token isn’t rocket science.

First, we need to create another file in Remix and uploading the ERC20 interface, which is the following:

ERC20 standard

ERC20 standard

Source: Image by U.Today

The ‘totalSupply’ function lets us see how many tokens we have in total. The ‘balanceOf’ function is used to get amounts of tokens on specific addresses. The ‘transfer’ function allows users performing transactions between each other. The ‘transferFrom’, ‘allowance’ and ‘approve’ functions are there to allow people to let some other users initiate transactions on their behalf. Events are the logging tools for the ledger.

In addition to the interface itself, we will need a separate .sol file for our new token. Here we will import the ERC20 interface and specify our token’s symbol, name, and decimals.

uToday token

uToday token

Source: Image by U.Today

Before we compile it, we need to specify constraints.

  • Let’s start with the total supply – it’s a constant integer variable that we will make private. The total supply of our tokens will be 1 million, we also write a function to return this value.

  • Second, we need to store our token somewhere. For this, we will need to outline the mapping that will return a balance for any address specified.

  • Third, there should be a function for token transfers, which will essentially have an address of a receiver and an amount of token transferred. This function should also be able to check whether or not a sender has enough tokens on their balance, which can be realized through a simple if/then statement. In addition, we will set conditionals for ‘_value’ in a way that blocks users from sending transactions with 0 tokens as this would only flood the network with junk.

  • Fourth, we should create the mapping for the remainder functions, which is a mapping of mapping to an integer.

  • Then we will specify a few checkers in the ‘approve’ and ‘allowance’ functions and put conditions for the ‘transferFrom’.

  • Finally, not all the tokens will be available on the market. Some of the tokens are usually left out for teams, foundations, advisors and other purposes. Hence, it’s essential that we make it clear how many tokens will be circulating. As we created the tokens, the circulating supply equals our balance.

uToday token constraints

uToday token constraints

Source: Image by U.Today

The code is ready, so let’s test it. Proceed to the ‘Run’ tab of the compiler and deploy our token contract. You will see that we have our token data along with the total supply, balances, and allowances. Congratulations, you deserve a pat on the back!

To make our token actually function on the network, we need to deploy the smart contract (note that this is different from deploying it for testing in Remix). For the sake of this tutorial, we will use Remix and Metamask, but there other ways of doing so. Metamask is a simple but efficient Ethereum wallet program with a nice UI that integrates as an extension to some of the most popular browsers. In our case, we will use Opera. Firstly, go to metamask.io and download the extension. Once it’s done, you will see a fox icon in the top right of your browser.

Downloading Metamask & location of the icon

Downloading Metamask & location of the icon

Source: Image by U.Today

Press on the icon and proceed through the offered instructions to create a wallet. Do not forget to store the secret phrase! When you have your wallet, press on the Metamask icon and change the network to ‘Ropsten’ because we don’t want to mess with Ethereum’s mainnet.

Changing Metamask to Ropsten

Changing Metamask to Ropsten

Source: Image by U.Today

The last step is to generate some Ether (unfortunately, you won’t be able to use these for any real purchases, but they are necessary for testing). Head over to faucet.metamask.io and request 1 Ether.

Now you are all set. Return to your Remix window and change the environment to ‘Injected Web3’ in the compiler. Take a look at the account tab too – your address should be the same as that of what you generated with Metamask. Select the smart contract you want to deploy, which is your token contract and not the ERC20 interface and press on the respective button. A Metamask window will pop up with a transaction, its details, and options to interact with it. Submit the transaction, and our token will come into life.

Metamask popup

Metamask popup

Source: Image by U.Today

You can now play around with all the functions we specified earlier. Let’s look at our contract from another side to verify that it works properly. Like any other blockchain, Ethereum has multiple block explorers which serve the essential purpose of monitoring what’s happening on the network. In our case, we will stick to etherscan, though there is a handful of other great alternatives. Note that if you just go to etherscan, you will see the Main network. As we need to see the Ropsten network, you will need to put ‘ropsten.’ before the website’s address. Search for your address and you will see two transactions – one is for free Ether you received, and another is for deploying the contract.

User’s address in Etherscan

User’s address in Etherscan

Source: Image by U.Today

To find the address of your contract, press on the TxHash and navigate to the ‘To’ field. Here you can check your smart contract’s transactions, code, and events. At this point, we need to verify and publish our contract. Go to the ‘Code’ section and click on the ‘Verify and Publish’ link. Here you will need to again specify the name of your token, the version of the compiler (in our case the latest version of Solidity we used was 0.5.7, so we will stick to the related compiler version). Now you should copy the token’s smart contract code along with the ERC20 interface code from your Remix window to etherscan and press ‘Verify and Publish’ at the bottom of the screen.

Verifying the smart contract

Verifying the smart contract

Source: Image by U.Today

It’s time to go back to your contract’s address. The code in the ‘Code’ tab will now be verified. In addition, you will now have two more tabs: ‘Read contract’ & ‘Write contract’. In the reading section, we can check the functionality of our token. Input your (not the contract’s) address into ‘balanceOf’ field to see how many tokens you have; it should show 1 million that we hard coded as the total supply and gave it circulating to our wallet. That means that our token is now correctly working on the testnet.

Receiving the balance

Receiving the balance

Source: Image by U.Today

Summary

If you are looking to start a career in the crypto industry, you need to understand that despite its relative simplicity in basics, blockchain has incredible deepness to it. Since 2017 blockchains have evolved significantly and their use cases went beyond just financial transactions. With the advent of Ethereum, a whole new layer of networks appeared that hosts various dApps and blockchain-based solutions. The tool behind this evolution was a smart contract, and if you want to make your experience more valuable and future-proof, you should know how one works.

👉MUST READ Top 16 Ethereum Wallets 2019
Top 16 Ethereum Wallets 2019

While you can code smart contracts using other languages, Solidity is a better fit for such a purpose. Moreover, if you want to become an Ethereum developer, or create an ICO/ERC20 token for your project, this is your go-to choice. If you had some experience with C++ or JavaScript, coding on Solidity should be relatively easy. You will have to understand some differences between the client-server and decentralized models of launching software, though. Thanks to Ethereum Foundation and some third-party organizations, developers are presented with a set of convenient tools like Remix and Etherscan to code and deploy smart contracts.

We hope that our tutorial helped you with getting around the majority of Solidity’s concepts to be able to start your blockchain journey. Remember that you can always check with the latest documentation on Solidity. We wish you good luck and will be happy to use some of your dApps someday!

Cover image via www.freepik.com
Only the most important posts per day. Infographics, analytics, reviews & summaries. Join our Telegram channel!
👓 Recommended articles