Medium how to become a blockchain developer

By | Friday, April 16, 2021

Navigation

  • How to Become a Blockchain Developer? – Types, Roles and Skills
  • How To Become A Blockchain Developer - Blockgeeks
  • How To Become a Blockchain Developer: Step-by-Step Plan
  • Blockchain Certification Training Course
  • How to Become a Blockchain Developer? – Types, Roles and Skills

    It just runs forever, outside the control of anybody. Solidity is the main language that is used for writing smart contracts. It has a syntax that is similar to Javascript but the similarity is just cosmetic.

    There is an intermediary compilation step, in which Solidity code is compiled to a bytecode that the Ethereum Virtual Machine the component of Ethereum that runs smart contracts can understand. Also, contrary to Javascript, Solidity is a typed language, which means that you need to specify the type of each variable.

    Contrary to Javascript and most languages, Solidity is much more primitive and much more limited. Expect some surprises in your learning process! As a first step into Solidity, a lot of people like to use CryptoZombies. Cryptozombies is a game designed to teach you the very basics by creating an army of Zombies in a smart contract.

    If you are into learning games, you might also enjoy Ethernaut , another game where you have to hack a smart contract. Next, I would recommend to spend some time reading the official Solidity Documentation. It is the most comprehensive resource on the topic and it is regularly updated.

    On my Youtube channel you can find some other resources for learning Solidity and smart contracts. The author is quite knowledgable in Solidity and covers some advanced topics.

    You might also want to learn about how to write safe Ethereum smart contracts. In smart contracts, you manipulate other people money, so you will be the target of hackers. These are good resources for learning about security in Solidity:. If you want to to get more tips about learning Solidity, read my article on what is the best way to learn Solidity. Because smart contracts are not very user-friendly we cannot ask end users to directly interact with them.

    Instead, we need to build easy-to-use UI for users. Before reading this article, you might have heard previously of Cryptokitties. Cryptokitties is this game where players buy, breed and trade kitties. This is built on Ethereum and is a good example of Dapp. First, we have the Cryptokitties website.

    This is the main interface interface for user. The website backend is deployed on private servers, and the frontend is a regular webapp.

    Nothing new here. Finally, we have the Cryptokitties smart contract, which is where the game data is stored. For example, if a player buys a kitty, this information will be stored in the Cryptokitties smart contract.

    The smart contract is deployed on the Ethereum blockchain. These 3 parts interact together to form a Dapp. In order to build your own Dapp, you need to build these 3 parts and make them communicate which each other. You can start by following my Free tutorial series on how to build a Todo list Dapp on Ethereum. This is a 8 steps tutorial where we will build a complete Dapp with the smart contract and the frontend, starting from the smart contract, and all the way up to the frontend:.

    Plus it will have 2 bonus series on how to integrate React in a Dapp and how to use Drizzle, the frontend framework of Truffle. If you are looking for online courses for learning to build Ethereum Dapp, you can check out the below links:.

    If you reach this step you would have accomplished a lot in your quest to become a Blockchain developer and find a job at Blockchain company. But before you do that you need to prepare yourself for these interviews. Employers will ask you to explain how a Blockchain work, and what are the different elements of Blockchain. Since Blockchain was created by Bitcoin, the 2 are often mixed together in Blockchain interviews. You can check out my article on what are the Top 12 questions in Blockchain Interviews.

    When I first got into Blockchain, I stumbled upon this book. I read it end-to-end in a couple of days and it made me become passionate about Blockchain. Throughout my journey in Blockchain and Ethereum, it helped me a lot to have read this book. Thanks to it, I acquired a good grasp on the Blockchain technology and Bitcoin. Knowing that most Blockchain systems and somehow based on Bitcoin, it helps a lot to have a good foundation there.

    You can buy the book from Amazon or read it for free on Github. The author recently released an updated version, following the latest development of Bitcoin Segwit. Make sure you buy this version. General job boards not specifically focused on Blockchain also usually have a decent numbers of Blockchain jobs:.

    More on that in the next section. At some point in your journey of becoming a Blockchain developer, you will certainly need some help. Fortunately you are not alone and there are a lot of online communities where you can ask for some help. The Ethereum stack exchange is great place to get some answers. Another way to get help is to meet other developers in real-life.

    A great way to do this is to go to Ethereum meetups and conferences. For meetups, you can go to meetup to find Ethereum and Blockchain meetups in your region. Make sure you pick a meetup that is focused on the tech, as many are focused on the business side of things and tend to try to sell you their latest ICO-investment crap. As for conferences, the most famous one for Ethereum is DevCon a bit pricy though. These are way cheaper than DevCon and less crowded.

    Finally, if you want to keep updated with the latest news of the Ethereum ecosystem, you can consult these resources:. I hoped that article helped you to figure out how to become a Blockchain developer. If you want to receive some career advice or have any questions about becoming an Ethereum developer, feel free to reach out at julien [at] eattheblocks [dot] com. Feel free to explore the other resources on this website to learn more about Dapp development. Excellent article. It is the fastest way to find your new job in Blockchain.

    Fantastic article, thank you. Truly useful, I will be using it to guide my blockchain development apprenticeship. Amazing article. I was looking for such an article for the last 2 months which could give me some direction.

    Would like to connect with you on LinkedIn. I want to select a blockchain, as you said in Section 2. Thank you for helping me In the meantime, I am currently working for an economic finance magazine on blockchain.

    Great, i am a blockchain developer, I really accept this plan will work our for new comers in blockchain field! As a Blockchain Expert, i strongly agree all the above steps to initiate for becoming Blockchain Developers.

    Your email address will not be published. Skip to content Do you want to become a become Blockchain developer? However, It can also come across as mysterious and hard to figure out for newcomers: Where do I get started to get into Blockchain? What do I need to learn to become a Blockchain developer?

    Do I need to be a cryptography expert to make it into Blockchain? How do I go from newbie to experienced Blockchain developer? Where to find Blockchain companies to find a Job? Step 1: Define your goal Some articles about becoming a Blockchain developer will just throw at you some advice without even considering what do YOU want.

    What is your motivation? For example: Being part of the creation of a new ecosystem Disrupt dysfunctional industries and improve the world someone said finance? Empower communities with the decentralization brought by Blockchain Employee or entrepreneur? This is similar to most platforms: on the web, most developers develop web applications, not web-browsers on desktop, most developers develop desktop applications, not operating system This article is mostly for people who want to build applications on top of the Blockchain, but developers who want to build Blockchain software itself will also find this article helpful.

    What is your deadline? Example: I want to have deployed in production a blockchain application in 3 month I want to have contributed 5 commits to a blockchain project in 2 month I want to complete 3 Blockchain pet projects in 1 month There are more than blockchains registered on coinmarketcap and new one are created every day.

    Step 3: Learn about Dapps that already exist There are more than applications built on Ethereum and new ones are released every day. To build your Dapp, you will need to learn about 3 components: Learn how the Ethereum protocol Work Learn how to write smart contracts in Solidity Learn how to fit all the pieces together in a Dapp The rest of this article will introduce you these and give you tips on what are the best resources to learn them Step 4: Learn Ethereum The Ethereum protocol is at the basis of smart contracts and Dapps.

    For Nodejs, you can use Solcjs. Web3 Web3 is a library used to communicate with Ethereum clients like Geth or Parity. Truffle Truffle is the most popular framework for developing Ethereum Dapps. Ganache Ganache is a local Ethereum Blockchain used for development. Step 7: Build your own Dapp Before reading this article, you might have heard previously of Cryptokitties. Then, we have Metamask. Cryptokitties players use Metamask to send ether to Cryptokitties.

    If you are looking for online courses for learning to build Ethereum Dapp, you can check out the below links: EatTheBlocks Pro — The largest resource for quality video tutorials for Solidity and Ethereum. Hours of high-quality video tutorials with clear explanations, step-by-step progression, and entirely reviewed by Manning. How smart contracts and Solidity work?

    How Dapp work? Step 9: Apply to Blockchain jobs The most obvious method is to apply to job offers on job boards. Step Get help from the community At some point in your journey of becoming a Blockchain developer, you will certainly need some help.

    Finally, if you want to keep updated with the latest news of the Ethereum ecosystem, you can consult these resources: Week in Ethereum Newsletter , a weekly newsletter for Ethereum in general not only dev Ethereum dev Reddit Other resources: DelegateCall , a stack-overflow clone, built on Ethereum Ethereum Magician Ethereum Research Forum I hoped that article helped you to figure out how to become a Blockchain developer.

    I am working on a training for hyperledger…patience 🙂. Great work for path finding and break downing the Etherium blockchain Tech. So, in the first line of the code, we called the crypto-js library because the sha hash function is not available in JavaScript.

    Next, we invoked a constructor inside the class to call for objects which will have certain values. The thing that probably catches your eye is the calculateHash function. In a block, we take all the contents and hash them to get the hash of that particular block. We are using the JSON. Ok, so we have the block ready and good to go. So, the moment a new chain is created, the genesis block is invoked immediately. Firstly, we will need to know what the last block in the blockchain currently is.

    For that we use the getLatestBlock function. So, what is happening here? How are we adding the blocks? How are we checking if the given block is valid or not? So, what we are going to do here is simple.

    Compare the previous hash value of the new block with the hash value of the latest block. If these two values match, then this means that the new block is legit and it gets added to the blockchain. Now, we need to check that nobody has been messing with our blockchain and that everything is stable. We created a new cryptocurrency based on the blockchain and named it BlockGeeksCoin. By invoking this new object, I activated the constructor, which in turn created the Genesis block automatically.

    Thank you savjee. While it was first proposed by American cryptographer Nick Szabo in , Ethereum is often credited with popularizing the concept and making it mainstream. You can learn more about smart contracts in our in-depth guide here.

    Anything that runs on a blockchain needs to be immutable and must have the ability to run through multiple nodes without compromising its integrity.

    As a result of which, smart contract functionality needs to be three things:. A program is deterministic if it gives the same output to a given input every single time. So when a program gives the same output to the same set of inputs in different computers, the program is called deterministic. Basically, it states that there is an inability to know whether or not a given program can execute its function in a time limit. This is obviously a problem with smart contracts because, contracts by definition, must be capable of termination within a given time limit.

    In a blockchain, anyone and everyone can upload a smart contract. However, because of this the contracts may, knowingly and unknowingly contain viruses and bugs. If the contract is not isolated, this may hamper the whole system.

    Hence, it is critical for a contract to be kept isolated in a sandbox to save the entire ecosystem from any negative effects. Now that we have seen these features, it is important to know how they are executed.

    Usually, smart contracts are run using one of the two systems:. If you are interested in Ethereum development specifically then it is important that you learn solidity as well. We already have a detailed guide to it which you can read here. However, here we are going to give you a basic overview. Solidity was developed by Gavin Wood, Christian Reitwiessner, Alex Beregszaszi, Yoichi Hirai and several former Ethereum core contributors to enable writing smart contracts on blockchain platforms such as Ethereum.

    If you are interested in learning solidity then you can check our in-depth class here. One of the most important things that you can do as a budding developer is to constantly stay in the mix. Go and join the Reddit forums, Gitbub pages, and StackExchange and connect with other developers and always be on the lookout for any news regarding the technology. Along with that, it will be helpful for you to know what people look for in blockchain developers.

    What qualities are companies looking for when they are looking to hire? You can find that information here. This information can be very useful in fine-tuning your skills enough to appeal to the companies. So, this is a rough roadmap for you and your journey to becoming a blockchain developer. If you are looking for a resource of information on blockchain development then click here. Join our community and get access to over 50 free video lessons, workshops, and guides like this!

    No credit card needed! Navigation Blockchain Ethereum Hash. Ameer Rosic. Back to Guides. Tweet 3. Share 7K. And now we are simply going to find the hash of these two values. Like what you read? Have a question? Ask our Community. Have questions? We have built an incredible community of blockchain enthusiasts from every corner of the industry.

    If you have questions, we have answers! Ask community. A: Blockchain is, an immutable time-stamped series record of data that is distributed and managed by cluster of computers.

    Job openings in the Blockchain industry has increased exponentially in the last several years. Get Started. Hungry for knowledge? Join Blockgeeks. Nice blog. We are also working in blockchain development.

    You are going to send email to. Move Comment.

    Medium how to become a blockchain developer

    With higher salaries, reports of Ethereum Dapps becoming very successful overnight, and new interesting technical challenges, the Blockchain is very attractive for developers. In this article I will answer these questions and lay out a step-by-step plan to become a Blockchain developer. If you follow this plan, you can become a Blockchain developer in month time and find a job at a crypto startup in this timeframe.

    However, I do assume that you are already a developer with at least 1 year of experience. If that is not the case, go study some web development first, and then come back. Some articles about becoming a Blockchain developer will just throw at you some advice without even considering what do YOU want. A lot of new developers are lured to the Blockchain world because of the crazy gains of cryptocurrencies.

    I can understand that this is very exciting, and its great to make money, but if you rely on this alone your excitement might be short-lived. Ideally, you should have at least another motivation. For example:. Do you want to find a job at a Blockchain company, or do you want to launch your own Blockchain project?

    The Blockchain industry is growing at a breakneck pace, and there are a lot of opportunities to benefit from it. Blockchain entrepreneurs will capture the largest share of this value, but developers can also expect to benefit from this growth.

    For Blockchain developers, salaries are on average , USD a year in the US, according to a survey of computerworld. Another benefit you can enjoy as a Blockchain developer is more options for remote jobs compared with non-Blockchain developer jobs.

    As an entrepreneur, one of the main advantage of Blockchain is easier access to funding. Thanks to the innovative funding mechanism of ICOs, some blockchain projects have raised millions relatively.

    This being said, be aware that the heydays of ICOs are over and with increasing government scrutiny around the world the funding has dried up a bit, but its still easier than in other industries.

    The other benefit you can enjoy as an entrepreneur is easier access to users. Blockchain is a new application platform and your app does not need to compete with a ton of competitors to get users. CryptoKitties famously became successful overnight when it launched in late Most blockchain developers belong to the second category.

    This article is mostly for people who want to build applications on top of the Blockchain, but developers who want to build Blockchain software itself will also find this article helpful. It is essential that you set yourself a time limit. Specify clearly the objective and the deadline. There are more than blockchains registered on coinmarketcap and new one are created every day. You need a sane way to navigate this never-ending flow of information.

    Actually, you should focus on the few Blockchain technologies that really matter and avoid being distracted too distracted by the others. Bitcoin is the most stable and battled tested Blockchain technology.

    It has reliably processed transactions for almost a decade, and its the most used Blockchain. However, its only capable of processing simple transactions and is too limited for many applications. Ethereum was built to solve the limitations of Bitcoin and allows to run small programs called smart contracts. Think of it as a virtual machine put on top of the Blockchain. The Blockchain guarantees the integrity of the data, and the smart contracts allow to run any arbitrary computation, making Ethereum much more flexible than Bitcoin.

    EOS was built as a modern alternative to Ethereum. Like Ethereum, it can run smart contracts. However, unlike Ethereum transactions on Eos are free. Finally, it is much more scalable than Ethereum. It might appear than EOS is the best choice. Network effects mean that a network becomes exponentially more valuable as more users join. Facebook is a good example.

    Once Facebook has reached a certain critical size, it left no chance to competitors because it would be too inconvenient for new users to be isolated of their friends on Facebook. Likewise, for Blockchain network effects also applies because users want to be able to make transactions between each others.

    Network effects also applies to the developer communities that grows around each Blockchain. In order to develop applications in a reasonable time and cost, we need not only a rich and mature ecosystem of developer tools and libraries, but also a vibrant community of competent developers. This can only happen if the community reaches a certain size. If you decide to pick Ethereum, before you rush to learn the tech, the next step would be to get more familiar with what kind of applications developers are building on it.

    There are more than applications built on Ethereum and new ones are released every day. We call these applications Decentralized Applications, or Dapps. A great way to discover popular Dapps is to visit a Dapp list website.

    I personally prefer DappRadar because its easier to access their Dapp lists and also because they have all sort of interesting rankings like the Dapps with the most DAU daily active users or with the most transactions per day.

    They are popular for trading lesser-known ERC20 tokens which lack liquidity. Gaming Dapps are mostly what we call collectible games. Users first buy characters from the game creators and then interact with other characters in different ways: fighting, breeding, etc… Compared to non-Blockchain games, the most distinctive feature of Blockchain games is the economy part.

    Thanks to the Blockchain, players are able to trade their characters freely with other players, without ever worrying about the interference of the game creators. The most famous gaming Dapp is CryptoKitties , where players collect cats that can breed. Gambling Dapps were among the first kind of Dapps to be built on Ethereum. Fomo3D is one of the most famous, where players have to keep investing ether to avoid letting the last player win all the money. Be aware that gambling Dapps on Ethereum suffer from a bad reputation, because many of them were openly!

    The last category is marketplaces. There are only a few marketplaces on Ethereum, but one that is making a lot of noise at the moment is the market place of Decentraland , a virtual reality world built on Ethereum. What are you going to build? A decentralized exchange? Or maybe something completely different? In any case, keep in mind that your Dapp will benefit the most from Ethereum if it has some sort of economy where users trade assets with Ethereum tokens. Once you have made up your mind about what you want to build, you need to actually start to think of how you will build your Dapp.

    To build your Dapp, you will need to learn about 3 components:. The rest of this article will introduce you these and give you tips on what are the best resources to learn them. The Ethereum protocol is at the basis of smart contracts and Dapps. You need to understand the basics of Ethereum to understand the rest of the development process on Ethereum. Start by reading the Ethereum white paper , which is a high-level description of what is Ethereum.

    It was written by Vitalik Buterin, the creator of Ethereum. This is the technical specification used by developers who implement the Ethereum protocol.

    A lot of mathematical notations are used, and its not for the faint of heart. I had to re-read several times to understand it. Another good place to learn about Ethereum is the Ethereum research forum. In the forum, the research team of the Ethereum foundation and Vitalik Buterin regularly discuss the latest developments in the Ethereum protocol. In your quest of understanding Ethereum, you could also read the source code of several implementations clients.

    You could read the code of the main clients like Geth Go or Parity Rust but these might not be the most readable. Instead, I would recommend to checkout a Python implementation Trinity or a Javascript. For example, Bitcore is the main client of Bitcoin, and Geth and is the main client of Ethereum.

    Now that you know about Ethereum, you are probably curious to know how we build applications on top of it the so-called Dapps. But before being able to learn how to build Dapps, you need to learn about the tools that are required, and about smart contracts. Solc is the compiler of the Solidity programming language.

    You can compile it directly from source, or more simply you can use a package in your favorite language. Web3 is a library used to communicate with Ethereum clients like Geth or Parity. Where web3 really shine is in its ability to dynamically create abstractions objects that represent a smart contract. These smart contract objects simplify a lot the interactions with a smart contract, and you can use them as if Ethereum had implemented an API specifically for each of the functions of your smart contract.

    To learn about web3, checkout the official documentation , as well as my video tutorials on How to deploy a smart contract with web3 and How to call a smart contract method with web3. By the way, in you are into Python you will be happy to learn that a Python port of web3 also exist. Oh, and make sure that you when follow a tutorial about web3 you know which version of web3 the tutorial is using: pre 1.

    Remix is an online IDE for Solidity smart contracts. Truffle is the most popular framework for developing Ethereum Dapps. It is written in Nodejs and has a strong community behind it. It has recently launched its own online academy and its own conference. Truffle makes deploying smart contracts a breeze. Without Truffle, we would need to combine many different tools. The official Docs are very good, and if you prefer videos you can checkout my Introduction to Truffle.

    Ganache is a local Ethereum Blockchain used for development. With Ganache, you just need to run a command to start a local Ethereum node and have 10 addresses pre-funded with Ether fake Ether of course , which is very handy for development.

    Metamask is an Ethereum wallet that is packaged as a browser extension. It is used by Dapps when requesting a user to sign a transaction. Transactions might send ether from the user address to another address, or simply change the value of a variable in a smart contract. Metamask is available on Chrome and Firefox but the Chrome extension is more popular.

    Smart contracts are the main building blocks of Dapps. There are small programs deployed on the Ethereum Blockchain that run autonomously once deployed. It just runs forever, outside the control of anybody. This is basically like serving up your key to hackers on a silver platter.

    Do NOT use online wallets to store huge amounts of your money. Store the bare minimum that you need for exchange purposes. As you create an extensive portfolio, you must learn how to utilize cold wallets to store your money. You can learn how to do so here. As a blockchain developer, you will face tons of challenges in the back-end. Creating and maintaining a public blockchain is not easy because of a number of reasons. Blockchains, as David Schwartz puts it, should be fortresses.

    Firstly, the code is public and open for all to see. Anyone can look at the code and check for bugs and vulnerabilities. However, unlike other open code resources, the downside of finding vulnerabilities on blockchain code is massive.

    Any programmer can hack in and get away with potentially millions and millions of dollars. Because of these legitimate security concerns, development on the blockchain is usually very slow. It is important to keep pace with the network. You cannot fall too far behind and not keep up with all the network demands. You should be well equipped to handle remote and local queries.

    The blockchain must always perform at its highest possible capabilities, but for that to happen the language chosen must be extremely versatile. All that you need for signature verification is the key, transaction, and signature. With just three data you can conduct verifications in a parallelized manner. However, not all the functions on a blockchain should be done that way. Think of transaction execution itself.

    Some languages are good at parallel operations while some are good in non-parallel operations. That is called deterministic behavior. So, in blockchain development, all transaction operations must be deterministic. You cannot have a transaction that behaves one way and then behaves another way the next day. Similarly, you cannot have smart contracts that work in two different ways on two different machines. The only solution to this is isolation. Basically, you isolate your smart contracts and transactions from non-deterministic elements.

    There are some languages that fulfill most of these needs. Javascript is usually used to create highly interactive web pages. How do we make a block? What does a simple block consist of? Before we continue.

    You need to understand certain terms that we are going to use in our program:. Ok, so this right here is out a block. So, in the first line of the code, we called the crypto-js library because the sha hash function is not available in JavaScript.

    Next, we invoked a constructor inside the class to call for objects which will have certain values. The thing that probably catches your eye is the calculateHash function. In a block, we take all the contents and hash them to get the hash of that particular block. We are using the JSON. Ok, so we have the block ready and good to go. So, the moment a new chain is created, the genesis block is invoked immediately. Firstly, we will need to know what the last block in the blockchain currently is.

    For that we use the getLatestBlock function. So, what is happening here? How are we adding the blocks? How are we checking if the given block is valid or not? So, what we are going to do here is simple. Compare the previous hash value of the new block with the hash value of the latest block. If these two values match, then this means that the new block is legit and it gets added to the blockchain. Now, we need to check that nobody has been messing with our blockchain and that everything is stable.

    We created a new cryptocurrency based on the blockchain and named it BlockGeeksCoin. By invoking this new object, I activated the constructor, which in turn created the Genesis block automatically.

    Thank you savjee. While it was first proposed by American cryptographer Nick Szabo in , Ethereum is often credited with popularizing the concept and making it mainstream. You can learn more about smart contracts in our in-depth guide here. Anything that runs on a blockchain needs to be immutable and must have the ability to run through multiple nodes without compromising its integrity. As a result of which, smart contract functionality needs to be three things:.

    A program is deterministic if it gives the same output to a given input every single time. So when a program gives the same output to the same set of inputs in different computers, the program is called deterministic. Basically, it states that there is an inability to know whether or not a given program can execute its function in a time limit. This is obviously a problem with smart contracts because, contracts by definition, must be capable of termination within a given time limit.

    In a blockchain, anyone and everyone can upload a smart contract. However, because of this the contracts may, knowingly and unknowingly contain viruses and bugs.

    If the contract is not isolated, this may hamper the whole system. Hence, it is critical for a contract to be kept isolated in a sandbox to save the entire ecosystem from any negative effects.

    Now that we have seen these features, it is important to know how they are executed. Usually, smart contracts are run using one of the two systems:. If you are interested in Ethereum development specifically then it is important that you learn solidity as well.

    We already have a detailed guide to it which you can read here.

    How To Become A Blockchain Developer - Blockgeeks

    There are small programs deployed on the Ethereum Blockchain that run autonomously once deployed. It just runs forever, outside the control of anybody. Solidity is the main language that is used for writing smart contracts. It has a syntax that is similar to Javascript but the similarity is just cosmetic. There is an intermediary compilation step, in which Solidity code is compiled to a bytecode that the Ethereum Virtual Machine the component of Ethereum that runs smart contracts can understand.

    Also, contrary to Javascript, Solidity is a typed language, which means that you need to specify the type of each variable. Contrary to Javascript and most languages, Solidity is much more primitive and much more limited. Expect some surprises in your learning process!

    As a first step into Solidity, a lot of people like to use CryptoZombies. Cryptozombies is a game designed to teach you the very basics by creating an army of Zombies in a smart contract. If you are into learning games, you might also enjoy Ethernaut , another game where you have to hack a smart contract. Next, I would recommend to spend some time reading the official Solidity Documentation.

    It is the most comprehensive resource on the topic and it is regularly updated. On my Youtube channel you can find some other resources for learning Solidity and smart contracts. The author is quite knowledgable in Solidity and covers some advanced topics. You might also want to learn about how to write safe Ethereum smart contracts.

    In smart contracts, you manipulate other people money, so you will be the target of hackers. These are good resources for learning about security in Solidity:. If you want to to get more tips about learning Solidity, read my article on what is the best way to learn Solidity. Because smart contracts are not very user-friendly we cannot ask end users to directly interact with them.

    Instead, we need to build easy-to-use UI for users. Before reading this article, you might have heard previously of Cryptokitties. Cryptokitties is this game where players buy, breed and trade kitties. This is built on Ethereum and is a good example of Dapp. First, we have the Cryptokitties website. This is the main interface interface for user. The website backend is deployed on private servers, and the frontend is a regular webapp.

    Nothing new here. Finally, we have the Cryptokitties smart contract, which is where the game data is stored. For example, if a player buys a kitty, this information will be stored in the Cryptokitties smart contract.

    The smart contract is deployed on the Ethereum blockchain. These 3 parts interact together to form a Dapp. In order to build your own Dapp, you need to build these 3 parts and make them communicate which each other. You can start by following my Free tutorial series on how to build a Todo list Dapp on Ethereum.

    This is a 8 steps tutorial where we will build a complete Dapp with the smart contract and the frontend, starting from the smart contract, and all the way up to the frontend:. Plus it will have 2 bonus series on how to integrate React in a Dapp and how to use Drizzle, the frontend framework of Truffle.

    If you are looking for online courses for learning to build Ethereum Dapp, you can check out the below links:. If you reach this step you would have accomplished a lot in your quest to become a Blockchain developer and find a job at Blockchain company. But before you do that you need to prepare yourself for these interviews. Employers will ask you to explain how a Blockchain work, and what are the different elements of Blockchain.

    Since Blockchain was created by Bitcoin, the 2 are often mixed together in Blockchain interviews. You can check out my article on what are the Top 12 questions in Blockchain Interviews. When I first got into Blockchain, I stumbled upon this book.

    I read it end-to-end in a couple of days and it made me become passionate about Blockchain. Throughout my journey in Blockchain and Ethereum, it helped me a lot to have read this book. Thanks to it, I acquired a good grasp on the Blockchain technology and Bitcoin. Knowing that most Blockchain systems and somehow based on Bitcoin, it helps a lot to have a good foundation there. You can buy the book from Amazon or read it for free on Github.

    The author recently released an updated version, following the latest development of Bitcoin Segwit. Make sure you buy this version. General job boards not specifically focused on Blockchain also usually have a decent numbers of Blockchain jobs:. More on that in the next section. At some point in your journey of becoming a Blockchain developer, you will certainly need some help.

    Fortunately you are not alone and there are a lot of online communities where you can ask for some help. The Ethereum stack exchange is great place to get some answers. Another way to get help is to meet other developers in real-life. A great way to do this is to go to Ethereum meetups and conferences. For meetups, you can go to meetup to find Ethereum and Blockchain meetups in your region.

    Make sure you pick a meetup that is focused on the tech, as many are focused on the business side of things and tend to try to sell you their latest ICO-investment crap. As for conferences, the most famous one for Ethereum is DevCon a bit pricy though.

    These are way cheaper than DevCon and less crowded. Finally, if you want to keep updated with the latest news of the Ethereum ecosystem, you can consult these resources:. I hoped that article helped you to figure out how to become a Blockchain developer. If you want to receive some career advice or have any questions about becoming an Ethereum developer, feel free to reach out at julien [at] eattheblocks [dot] com. Feel free to explore the other resources on this website to learn more about Dapp development.

    Excellent article. It is the fastest way to find your new job in Blockchain. Fantastic article, thank you. Truly useful, I will be using it to guide my blockchain development apprenticeship. Amazing article. I was looking for such an article for the last 2 months which could give me some direction. Would like to connect with you on LinkedIn. I want to select a blockchain, as you said in Section 2. Thank you for helping me In the meantime, I am currently working for an economic finance magazine on blockchain.

    Great, i am a blockchain developer, I really accept this plan will work our for new comers in blockchain field! As a Blockchain Expert, i strongly agree all the above steps to initiate for becoming Blockchain Developers. Your email address will not be published. Skip to content Do you want to become a become Blockchain developer?

    However, It can also come across as mysterious and hard to figure out for newcomers: Where do I get started to get into Blockchain? What do I need to learn to become a Blockchain developer? Do I need to be a cryptography expert to make it into Blockchain?

    How do I go from newbie to experienced Blockchain developer? Where to find Blockchain companies to find a Job? Step 1: Define your goal Some articles about becoming a Blockchain developer will just throw at you some advice without even considering what do YOU want.

    What is your motivation? For example: Being part of the creation of a new ecosystem Disrupt dysfunctional industries and improve the world someone said finance?

    Empower communities with the decentralization brought by Blockchain Employee or entrepreneur? This is similar to most platforms: on the web, most developers develop web applications, not web-browsers on desktop, most developers develop desktop applications, not operating system This article is mostly for people who want to build applications on top of the Blockchain, but developers who want to build Blockchain software itself will also find this article helpful.

    What is your deadline? Example: I want to have deployed in production a blockchain application in 3 month I want to have contributed 5 commits to a blockchain project in 2 month I want to complete 3 Blockchain pet projects in 1 month There are more than blockchains registered on coinmarketcap and new one are created every day. Step 3: Learn about Dapps that already exist There are more than applications built on Ethereum and new ones are released every day.

    To build your Dapp, you will need to learn about 3 components: Learn how the Ethereum protocol Work Learn how to write smart contracts in Solidity Learn how to fit all the pieces together in a Dapp The rest of this article will introduce you these and give you tips on what are the best resources to learn them Step 4: Learn Ethereum The Ethereum protocol is at the basis of smart contracts and Dapps.

    For Nodejs, you can use Solcjs. Web3 Web3 is a library used to communicate with Ethereum clients like Geth or Parity. Truffle Truffle is the most popular framework for developing Ethereum Dapps. Ganache Ganache is a local Ethereum Blockchain used for development. Step 7: Build your own Dapp Before reading this article, you might have heard previously of Cryptokitties. Then, we have Metamask. Cryptokitties players use Metamask to send ether to Cryptokitties.

    If you are looking for online courses for learning to build Ethereum Dapp, you can check out the below links: EatTheBlocks Pro — The largest resource for quality video tutorials for Solidity and Ethereum. Hours of high-quality video tutorials with clear explanations, step-by-step progression, and entirely reviewed by Manning.

    How smart contracts and Solidity work? How Dapp work? Step 9: Apply to Blockchain jobs The most obvious method is to apply to job offers on job boards. Step Get help from the community At some point in your journey of becoming a Blockchain developer, you will certainly need some help. Finally, if you want to keep updated with the latest news of the Ethereum ecosystem, you can consult these resources: Week in Ethereum Newsletter , a weekly newsletter for Ethereum in general not only dev Ethereum dev Reddit Other resources: DelegateCall , a stack-overflow clone, built on Ethereum Ethereum Magician Ethereum Research Forum I hoped that article helped you to figure out how to become a Blockchain developer.

    I am working on a training for hyperledger…patience 🙂. Before we continue. You need to understand certain terms that we are going to use in our program:. Ok, so this right here is out a block. So, in the first line of the code, we called the crypto-js library because the sha hash function is not available in JavaScript. Next, we invoked a constructor inside the class to call for objects which will have certain values. The thing that probably catches your eye is the calculateHash function.

    In a block, we take all the contents and hash them to get the hash of that particular block. We are using the JSON. Ok, so we have the block ready and good to go. So, the moment a new chain is created, the genesis block is invoked immediately. Firstly, we will need to know what the last block in the blockchain currently is. For that we use the getLatestBlock function. So, what is happening here? How are we adding the blocks? How are we checking if the given block is valid or not?

    So, what we are going to do here is simple. Compare the previous hash value of the new block with the hash value of the latest block. If these two values match, then this means that the new block is legit and it gets added to the blockchain.

    Now, we need to check that nobody has been messing with our blockchain and that everything is stable. We created a new cryptocurrency based on the blockchain and named it BlockGeeksCoin. By invoking this new object, I activated the constructor, which in turn created the Genesis block automatically. Thank you savjee. While it was first proposed by American cryptographer Nick Szabo in , Ethereum is often credited with popularizing the concept and making it mainstream.

    You can learn more about smart contracts in our in-depth guide here. Anything that runs on a blockchain needs to be immutable and must have the ability to run through multiple nodes without compromising its integrity.

    As a result of which, smart contract functionality needs to be three things:. A program is deterministic if it gives the same output to a given input every single time. So when a program gives the same output to the same set of inputs in different computers, the program is called deterministic.

    Basically, it states that there is an inability to know whether or not a given program can execute its function in a time limit. This is obviously a problem with smart contracts because, contracts by definition, must be capable of termination within a given time limit. In a blockchain, anyone and everyone can upload a smart contract.

    However, because of this the contracts may, knowingly and unknowingly contain viruses and bugs. If the contract is not isolated, this may hamper the whole system. Hence, it is critical for a contract to be kept isolated in a sandbox to save the entire ecosystem from any negative effects. Now that we have seen these features, it is important to know how they are executed.

    Usually, smart contracts are run using one of the two systems:. If you are interested in Ethereum development specifically then it is important that you learn solidity as well. We already have a detailed guide to it which you can read here.

    However, here we are going to give you a basic overview. Solidity was developed by Gavin Wood, Christian Reitwiessner, Alex Beregszaszi, Yoichi Hirai and several former Ethereum core contributors to enable writing smart contracts on blockchain platforms such as Ethereum. If you are interested in learning solidity then you can check our in-depth class here.

    One of the most important things that you can do as a budding developer is to constantly stay in the mix. Go and join the Reddit forums, Gitbub pages, and StackExchange and connect with other developers and always be on the lookout for any news regarding the technology. Along with that, it will be helpful for you to know what people look for in blockchain developers. What qualities are companies looking for when they are looking to hire? You can find that information here.

    This information can be very useful in fine-tuning your skills enough to appeal to the companies. So, this is a rough roadmap for you and your journey to becoming a blockchain developer. If you are looking for a resource of information on blockchain development then click here. Join our community and get access to over 50 free video lessons, workshops, and guides like this!

    No credit card needed! Navigation Blockchain Ethereum Hash. Ameer Rosic. Back to Guides. Tweet 3. Share 7K. And now we are simply going to find the hash of these two values. Like what you read?

    Have a question? Ask our Community. Have questions? We have built an incredible community of blockchain enthusiasts from every corner of the industry. If you have questions, we have answers!

    Ask community. A: Blockchain is, an immutable time-stamped series record of data that is distributed and managed by cluster of computers. Job openings in the Blockchain industry has increased exponentially in the last several years.

    Get Started. Hungry for knowledge? Join Blockgeeks. Nice blog.

    How To Become a Blockchain Developer: Step-by-Step Plan

    Medium how to become a blockchain developer

    Instead, I would recommend to checkout a Python implementation Trinity or a Javascript. For example, Bitcore is the main client of Bitcoin, and Geth and is the main client of Ethereum. Now that you know about Ethereum, you are probably curious to know how we build applications on top of it the so-called Dapps.

    But before being able to learn how to build Dapps, you need to learn about the tools that are required, and about smart contracts.

    Solc is the compiler of the Solidity programming language. You can compile it directly from source, or more simply you can use a package in your favorite language. Web3 is a library used to communicate with Ethereum clients like Geth or Parity. Where web3 really shine is in its ability to dynamically create abstractions objects that represent a smart contract.

    These smart contract objects simplify a lot the interactions with a smart contract, and you can use them as if Ethereum had implemented an API specifically for each of the functions of your smart contract. To learn about web3, checkout the official documentation , as well as my video tutorials on How to deploy a smart contract with web3 and How to call a smart contract method with web3.

    By the way, in you are into Python you will be happy to learn that a Python port of web3 also exist. Oh, and make sure that you when follow a tutorial about web3 you know which version of web3 the tutorial is using: pre 1. Remix is an online IDE for Solidity smart contracts.

    Truffle is the most popular framework for developing Ethereum Dapps. It is written in Nodejs and has a strong community behind it. It has recently launched its own online academy and its own conference. Truffle makes deploying smart contracts a breeze. Without Truffle, we would need to combine many different tools. The official Docs are very good, and if you prefer videos you can checkout my Introduction to Truffle. Ganache is a local Ethereum Blockchain used for development.

    With Ganache, you just need to run a command to start a local Ethereum node and have 10 addresses pre-funded with Ether fake Ether of course , which is very handy for development.

    Metamask is an Ethereum wallet that is packaged as a browser extension. It is used by Dapps when requesting a user to sign a transaction. Transactions might send ether from the user address to another address, or simply change the value of a variable in a smart contract. Metamask is available on Chrome and Firefox but the Chrome extension is more popular. Smart contracts are the main building blocks of Dapps. There are small programs deployed on the Ethereum Blockchain that run autonomously once deployed.

    It just runs forever, outside the control of anybody. Solidity is the main language that is used for writing smart contracts. It has a syntax that is similar to Javascript but the similarity is just cosmetic. There is an intermediary compilation step, in which Solidity code is compiled to a bytecode that the Ethereum Virtual Machine the component of Ethereum that runs smart contracts can understand.

    Also, contrary to Javascript, Solidity is a typed language, which means that you need to specify the type of each variable. Contrary to Javascript and most languages, Solidity is much more primitive and much more limited. Expect some surprises in your learning process! As a first step into Solidity, a lot of people like to use CryptoZombies. Cryptozombies is a game designed to teach you the very basics by creating an army of Zombies in a smart contract.

    If you are into learning games, you might also enjoy Ethernaut , another game where you have to hack a smart contract. Next, I would recommend to spend some time reading the official Solidity Documentation. It is the most comprehensive resource on the topic and it is regularly updated. On my Youtube channel you can find some other resources for learning Solidity and smart contracts. The author is quite knowledgable in Solidity and covers some advanced topics. You might also want to learn about how to write safe Ethereum smart contracts.

    In smart contracts, you manipulate other people money, so you will be the target of hackers. These are good resources for learning about security in Solidity:.

    If you want to to get more tips about learning Solidity, read my article on what is the best way to learn Solidity. Because smart contracts are not very user-friendly we cannot ask end users to directly interact with them. Instead, we need to build easy-to-use UI for users.

    Before reading this article, you might have heard previously of Cryptokitties. Cryptokitties is this game where players buy, breed and trade kitties. This is built on Ethereum and is a good example of Dapp. First, we have the Cryptokitties website. This is the main interface interface for user. The website backend is deployed on private servers, and the frontend is a regular webapp.

    Nothing new here. Finally, we have the Cryptokitties smart contract, which is where the game data is stored. For example, if a player buys a kitty, this information will be stored in the Cryptokitties smart contract. The smart contract is deployed on the Ethereum blockchain. These 3 parts interact together to form a Dapp. In order to build your own Dapp, you need to build these 3 parts and make them communicate which each other.

    You can start by following my Free tutorial series on how to build a Todo list Dapp on Ethereum. This is a 8 steps tutorial where we will build a complete Dapp with the smart contract and the frontend, starting from the smart contract, and all the way up to the frontend:. Plus it will have 2 bonus series on how to integrate React in a Dapp and how to use Drizzle, the frontend framework of Truffle.

    If you are looking for online courses for learning to build Ethereum Dapp, you can check out the below links:. If you reach this step you would have accomplished a lot in your quest to become a Blockchain developer and find a job at Blockchain company.

    But before you do that you need to prepare yourself for these interviews. Employers will ask you to explain how a Blockchain work, and what are the different elements of Blockchain. Since Blockchain was created by Bitcoin, the 2 are often mixed together in Blockchain interviews. You can check out my article on what are the Top 12 questions in Blockchain Interviews.

    When I first got into Blockchain, I stumbled upon this book. I read it end-to-end in a couple of days and it made me become passionate about Blockchain. Throughout my journey in Blockchain and Ethereum, it helped me a lot to have read this book.

    Thanks to it, I acquired a good grasp on the Blockchain technology and Bitcoin. Knowing that most Blockchain systems and somehow based on Bitcoin, it helps a lot to have a good foundation there. You can buy the book from Amazon or read it for free on Github. The author recently released an updated version, following the latest development of Bitcoin Segwit.

    Make sure you buy this version. General job boards not specifically focused on Blockchain also usually have a decent numbers of Blockchain jobs:. More on that in the next section.

    At some point in your journey of becoming a Blockchain developer, you will certainly need some help. Fortunately you are not alone and there are a lot of online communities where you can ask for some help. The Ethereum stack exchange is great place to get some answers. Another way to get help is to meet other developers in real-life. A great way to do this is to go to Ethereum meetups and conferences. For meetups, you can go to meetup to find Ethereum and Blockchain meetups in your region.

    Make sure you pick a meetup that is focused on the tech, as many are focused on the business side of things and tend to try to sell you their latest ICO-investment crap.

    As for conferences, the most famous one for Ethereum is DevCon a bit pricy though. These are way cheaper than DevCon and less crowded. Finally, if you want to keep updated with the latest news of the Ethereum ecosystem, you can consult these resources:. I hoped that article helped you to figure out how to become a Blockchain developer. If you want to receive some career advice or have any questions about becoming an Ethereum developer, feel free to reach out at julien [at] eattheblocks [dot] com.

    Feel free to explore the other resources on this website to learn more about Dapp development. Excellent article. It is the fastest way to find your new job in Blockchain.

    Fantastic article, thank you. Truly useful, I will be using it to guide my blockchain development apprenticeship. Amazing article. I was looking for such an article for the last 2 months which could give me some direction. Would like to connect with you on LinkedIn. I want to select a blockchain, as you said in Section 2. Thank you for helping me In the meantime, I am currently working for an economic finance magazine on blockchain. Great, i am a blockchain developer, I really accept this plan will work our for new comers in blockchain field!

    As a Blockchain Expert, i strongly agree all the above steps to initiate for becoming Blockchain Developers.

    Your email address will not be published. Skip to content Do you want to become a become Blockchain developer? However, It can also come across as mysterious and hard to figure out for newcomers: Where do I get started to get into Blockchain?

    What do I need to learn to become a Blockchain developer? Do I need to be a cryptography expert to make it into Blockchain? If you are to become a blockchain developer, then there are certain steps that you need to take.

    Hopefully, at the end of the guide, you will have the tools required to kick-start your journey. If you are serious about becoming a developer then we need to set some expectations for you. Firstly, it is going to take time and you will need to dedicate your time and resources to your education you can continue your blockchain development course by taking our online classes. Secondly, do not expect immediate results, becoming a blockchain developer is not a magic pill. One of the biggest hurdles with anything as new and revolutionary, such as the blockchain technology, is familiarizing oneself with various concepts integral to the system.

    If you are a beginner, then there are certain terms that you need to be familiar with:. It could be advisable to learn more about these terms that are widely used in the crypto-sphere.

    It is highly recommended that you go through our comprehensive glossary. It is important to learn these basic terms otherwise you will be very lost further on in your education. Now, up next, it is time to educate yourself some more on the technical aspects of the blockchain.

    If you are interested in the technical aspects of how to create a fin-tech application on top of the Blockchain then you should definitely learn the ins and outs of crypto-economics. This difference in knowledge is extremely apparent when you study some of these ICOs floating around. So, in light of that, it can be a good idea to read up a bit on economics and have a general idea of it. If you want to learn about crypto-economics in general, then you may check out our article here.

    If you are intrigued by the cryptography specifically and want to know how signatures work and what public-key cryptography means, then read this. After that, it is highly recommended that you understand how bitcoin works.

    You can even call it the finest example of what the blockchain technology can achieve purely because of the impact that it has had. You can find it over here. Now that completes the first milestone. How can you possibly innovate and improve upon a platform when you have not used it even once? Go to Coinbase or any other exchange that you are comfortable with or is accessible in your country and buy some coins.

    It is extremely straightforward. Since you are not going to be buying a lot of coins then simply use a basic online wallet.

    These wallets are the easiest to use among all. Furthermore, you can access this wallet from any server or any device in the world as long as it is connected to the net. Having said that, there is one big problem when it comes to online wallets. Your private key is going to be saved on another server.

    This is basically like serving up your key to hackers on a silver platter. Do NOT use online wallets to store huge amounts of your money.

    Store the bare minimum that you need for exchange purposes. As you create an extensive portfolio, you must learn how to utilize cold wallets to store your money. You can learn how to do so here. As a blockchain developer, you will face tons of challenges in the back-end. Creating and maintaining a public blockchain is not easy because of a number of reasons. Blockchains, as David Schwartz puts it, should be fortresses.

    Firstly, the code is public and open for all to see. Anyone can look at the code and check for bugs and vulnerabilities.

    However, unlike other open code resources, the downside of finding vulnerabilities on blockchain code is massive. Any programmer can hack in and get away with potentially millions and millions of dollars. Because of these legitimate security concerns, development on the blockchain is usually very slow. It is important to keep pace with the network. You cannot fall too far behind and not keep up with all the network demands. You should be well equipped to handle remote and local queries.

    The blockchain must always perform at its highest possible capabilities, but for that to happen the language chosen must be extremely versatile. All that you need for signature verification is the key, transaction, and signature. With just three data you can conduct verifications in a parallelized manner.

    However, not all the functions on a blockchain should be done that way. Think of transaction execution itself. Some languages are good at parallel operations while some are good in non-parallel operations.

    That is called deterministic behavior. So, in blockchain development, all transaction operations must be deterministic. You cannot have a transaction that behaves one way and then behaves another way the next day. Similarly, you cannot have smart contracts that work in two different ways on two different machines.

    The only solution to this is isolation. Basically, you isolate your smart contracts and transactions from non-deterministic elements. There are some languages that fulfill most of these needs. Javascript is usually used to create highly interactive web pages.

    How do we make a block? What does a simple block consist of? Before we continue. You need to understand certain terms that we are going to use in our program:. Ok, so this right here is out a block. So, in the first line of the code, we called the crypto-js library because the sha hash function is not available in JavaScript.

    Next, we invoked a constructor inside the class to call for objects which will have certain values. The thing that probably catches your eye is the calculateHash function. In a block, we take all the contents and hash them to get the hash of that particular block.

    We are using the JSON. Ok, so we have the block ready and good to go. So, the moment a new chain is created, the genesis block is invoked immediately.

    Blockchain Certification Training Course

    Network effects mean that a network becomes exponentially more valuable as more users join. Facebook is a good example. Once Facebook has reached a certain critical size, it left no chance to competitors because it would be too inconvenient for new users to be isolated of their friends on Facebook. Likewise, for Blockchain network effects also applies because users want to be able to make transactions between each others. Network effects also applies to the developer communities that grows around each Blockchain.

    In order to develop applications in a reasonable time and cost, we need not only a rich and mature ecosystem of developer tools and libraries, but also a vibrant community of competent developers.

    This can only happen if the community reaches a certain size. If you decide to pick Ethereum, before you rush to learn the tech, the next step would be to get more familiar with what kind of applications developers are building on it.

    There are more than applications built on Ethereum and new ones are released every day. We call these applications Decentralized Applications, or Dapps. A great way to discover popular Dapps is to visit a Dapp list website. I personally prefer DappRadar because its easier to access their Dapp lists and also because they have all sort of interesting rankings like the Dapps with the most DAU daily active users or with the most transactions per day.

    They are popular for trading lesser-known ERC20 tokens which lack liquidity. Gaming Dapps are mostly what we call collectible games. Users first buy characters from the game creators and then interact with other characters in different ways: fighting, breeding, etc… Compared to non-Blockchain games, the most distinctive feature of Blockchain games is the economy part. Thanks to the Blockchain, players are able to trade their characters freely with other players, without ever worrying about the interference of the game creators.

    The most famous gaming Dapp is CryptoKitties , where players collect cats that can breed. Gambling Dapps were among the first kind of Dapps to be built on Ethereum. Fomo3D is one of the most famous, where players have to keep investing ether to avoid letting the last player win all the money. Be aware that gambling Dapps on Ethereum suffer from a bad reputation, because many of them were openly!

    The last category is marketplaces. There are only a few marketplaces on Ethereum, but one that is making a lot of noise at the moment is the market place of Decentraland , a virtual reality world built on Ethereum.

    What are you going to build? A decentralized exchange? Or maybe something completely different? In any case, keep in mind that your Dapp will benefit the most from Ethereum if it has some sort of economy where users trade assets with Ethereum tokens.

    Once you have made up your mind about what you want to build, you need to actually start to think of how you will build your Dapp. To build your Dapp, you will need to learn about 3 components:. The rest of this article will introduce you these and give you tips on what are the best resources to learn them. The Ethereum protocol is at the basis of smart contracts and Dapps. You need to understand the basics of Ethereum to understand the rest of the development process on Ethereum. Start by reading the Ethereum white paper , which is a high-level description of what is Ethereum.

    It was written by Vitalik Buterin, the creator of Ethereum. This is the technical specification used by developers who implement the Ethereum protocol. A lot of mathematical notations are used, and its not for the faint of heart. I had to re-read several times to understand it. Another good place to learn about Ethereum is the Ethereum research forum. In the forum, the research team of the Ethereum foundation and Vitalik Buterin regularly discuss the latest developments in the Ethereum protocol.

    In your quest of understanding Ethereum, you could also read the source code of several implementations clients. You could read the code of the main clients like Geth Go or Parity Rust but these might not be the most readable.

    Instead, I would recommend to checkout a Python implementation Trinity or a Javascript. For example, Bitcore is the main client of Bitcoin, and Geth and is the main client of Ethereum. Now that you know about Ethereum, you are probably curious to know how we build applications on top of it the so-called Dapps.

    But before being able to learn how to build Dapps, you need to learn about the tools that are required, and about smart contracts. Solc is the compiler of the Solidity programming language. You can compile it directly from source, or more simply you can use a package in your favorite language. Web3 is a library used to communicate with Ethereum clients like Geth or Parity. Where web3 really shine is in its ability to dynamically create abstractions objects that represent a smart contract.

    These smart contract objects simplify a lot the interactions with a smart contract, and you can use them as if Ethereum had implemented an API specifically for each of the functions of your smart contract. To learn about web3, checkout the official documentation , as well as my video tutorials on How to deploy a smart contract with web3 and How to call a smart contract method with web3.

    By the way, in you are into Python you will be happy to learn that a Python port of web3 also exist. Oh, and make sure that you when follow a tutorial about web3 you know which version of web3 the tutorial is using: pre 1. Remix is an online IDE for Solidity smart contracts. Truffle is the most popular framework for developing Ethereum Dapps. It is written in Nodejs and has a strong community behind it. It has recently launched its own online academy and its own conference.

    Truffle makes deploying smart contracts a breeze. Without Truffle, we would need to combine many different tools. The official Docs are very good, and if you prefer videos you can checkout my Introduction to Truffle. Ganache is a local Ethereum Blockchain used for development. With Ganache, you just need to run a command to start a local Ethereum node and have 10 addresses pre-funded with Ether fake Ether of course , which is very handy for development.

    Metamask is an Ethereum wallet that is packaged as a browser extension. It is used by Dapps when requesting a user to sign a transaction. Transactions might send ether from the user address to another address, or simply change the value of a variable in a smart contract. Metamask is available on Chrome and Firefox but the Chrome extension is more popular.

    Smart contracts are the main building blocks of Dapps. There are small programs deployed on the Ethereum Blockchain that run autonomously once deployed. It just runs forever, outside the control of anybody. Solidity is the main language that is used for writing smart contracts. It has a syntax that is similar to Javascript but the similarity is just cosmetic. There is an intermediary compilation step, in which Solidity code is compiled to a bytecode that the Ethereum Virtual Machine the component of Ethereum that runs smart contracts can understand.

    Also, contrary to Javascript, Solidity is a typed language, which means that you need to specify the type of each variable. Contrary to Javascript and most languages, Solidity is much more primitive and much more limited.

    Expect some surprises in your learning process! As a first step into Solidity, a lot of people like to use CryptoZombies. Cryptozombies is a game designed to teach you the very basics by creating an army of Zombies in a smart contract.

    If you are into learning games, you might also enjoy Ethernaut , another game where you have to hack a smart contract. Next, I would recommend to spend some time reading the official Solidity Documentation. It is the most comprehensive resource on the topic and it is regularly updated. On my Youtube channel you can find some other resources for learning Solidity and smart contracts. The author is quite knowledgable in Solidity and covers some advanced topics.

    You might also want to learn about how to write safe Ethereum smart contracts. In smart contracts, you manipulate other people money, so you will be the target of hackers. These are good resources for learning about security in Solidity:. If you want to to get more tips about learning Solidity, read my article on what is the best way to learn Solidity.

    Because smart contracts are not very user-friendly we cannot ask end users to directly interact with them. Instead, we need to build easy-to-use UI for users. Before reading this article, you might have heard previously of Cryptokitties.

    Cryptokitties is this game where players buy, breed and trade kitties. This is built on Ethereum and is a good example of Dapp. First, we have the Cryptokitties website. This is the main interface interface for user.

    The website backend is deployed on private servers, and the frontend is a regular webapp. Nothing new here. Finally, we have the Cryptokitties smart contract, which is where the game data is stored. For example, if a player buys a kitty, this information will be stored in the Cryptokitties smart contract. The smart contract is deployed on the Ethereum blockchain. These 3 parts interact together to form a Dapp. In order to build your own Dapp, you need to build these 3 parts and make them communicate which each other.

    You can start by following my Free tutorial series on how to build a Todo list Dapp on Ethereum. This is a 8 steps tutorial where we will build a complete Dapp with the smart contract and the frontend, starting from the smart contract, and all the way up to the frontend:.

    Plus it will have 2 bonus series on how to integrate React in a Dapp and how to use Drizzle, the frontend framework of Truffle. If you are looking for online courses for learning to build Ethereum Dapp, you can check out the below links:. If you reach this step you would have accomplished a lot in your quest to become a Blockchain developer and find a job at Blockchain company.

    But before you do that you need to prepare yourself for these interviews. Employers will ask you to explain how a Blockchain work, and what are the different elements of Blockchain. Since Blockchain was created by Bitcoin, the 2 are often mixed together in Blockchain interviews. It is important to learn these basic terms otherwise you will be very lost further on in your education. Now, up next, it is time to educate yourself some more on the technical aspects of the blockchain.

    If you are interested in the technical aspects of how to create a fin-tech application on top of the Blockchain then you should definitely learn the ins and outs of crypto-economics. This difference in knowledge is extremely apparent when you study some of these ICOs floating around. So, in light of that, it can be a good idea to read up a bit on economics and have a general idea of it.

    If you want to learn about crypto-economics in general, then you may check out our article here. If you are intrigued by the cryptography specifically and want to know how signatures work and what public-key cryptography means, then read this. After that, it is highly recommended that you understand how bitcoin works. You can even call it the finest example of what the blockchain technology can achieve purely because of the impact that it has had.

    You can find it over here. Now that completes the first milestone. How can you possibly innovate and improve upon a platform when you have not used it even once? Go to Coinbase or any other exchange that you are comfortable with or is accessible in your country and buy some coins.

    It is extremely straightforward. Since you are not going to be buying a lot of coins then simply use a basic online wallet. These wallets are the easiest to use among all. Furthermore, you can access this wallet from any server or any device in the world as long as it is connected to the net. Having said that, there is one big problem when it comes to online wallets. Your private key is going to be saved on another server.

    This is basically like serving up your key to hackers on a silver platter. Do NOT use online wallets to store huge amounts of your money. Store the bare minimum that you need for exchange purposes. As you create an extensive portfolio, you must learn how to utilize cold wallets to store your money. You can learn how to do so here. As a blockchain developer, you will face tons of challenges in the back-end.

    Creating and maintaining a public blockchain is not easy because of a number of reasons. Blockchains, as David Schwartz puts it, should be fortresses. Firstly, the code is public and open for all to see.

    Anyone can look at the code and check for bugs and vulnerabilities. However, unlike other open code resources, the downside of finding vulnerabilities on blockchain code is massive. Any programmer can hack in and get away with potentially millions and millions of dollars.

    Because of these legitimate security concerns, development on the blockchain is usually very slow. It is important to keep pace with the network. You cannot fall too far behind and not keep up with all the network demands. You should be well equipped to handle remote and local queries. The blockchain must always perform at its highest possible capabilities, but for that to happen the language chosen must be extremely versatile. All that you need for signature verification is the key, transaction, and signature.

    With just three data you can conduct verifications in a parallelized manner. However, not all the functions on a blockchain should be done that way. Think of transaction execution itself. Some languages are good at parallel operations while some are good in non-parallel operations. That is called deterministic behavior. So, in blockchain development, all transaction operations must be deterministic.

    You cannot have a transaction that behaves one way and then behaves another way the next day. Similarly, you cannot have smart contracts that work in two different ways on two different machines. The only solution to this is isolation. Basically, you isolate your smart contracts and transactions from non-deterministic elements. There are some languages that fulfill most of these needs.

    Javascript is usually used to create highly interactive web pages. How do we make a block? What does a simple block consist of? Before we continue. You need to understand certain terms that we are going to use in our program:. Ok, so this right here is out a block.

    So, in the first line of the code, we called the crypto-js library because the sha hash function is not available in JavaScript. Next, we invoked a constructor inside the class to call for objects which will have certain values.

    The thing that probably catches your eye is the calculateHash function. In a block, we take all the contents and hash them to get the hash of that particular block. We are using the JSON. Ok, so we have the block ready and good to go. So, the moment a new chain is created, the genesis block is invoked immediately. Firstly, we will need to know what the last block in the blockchain currently is. For that we use the getLatestBlock function. So, what is happening here? How are we adding the blocks?

    How are we checking if the given block is valid or not? So, what we are going to do here is simple. Compare the previous hash value of the new block with the hash value of the latest block. If these two values match, then this means that the new block is legit and it gets added to the blockchain.

    Now, we need to check that nobody has been messing with our blockchain and that everything is stable.

    So, this is blockchain rough roadmap for you and your journey to becoming a blockchain developer. Example: I want to have deployed in medium a blockchain how in 3 month I want to have contributed 5 commits to a blockchain become in 2 month I want to complete 3 Blockchain pet projects in 1 month There blockchain more than blockchains registered on coinmarketcap and new one are created every day. If these two values developer, then this means that the new block become legit and it gets added to the blockchain. The Ethereum stack exchange is great place to get some answers. If you are looking for a developer of information on blockchain development medium click here. These wallets are the easiest to use among all. How credit card needed!

    Leave a Reply

    Your email address will not be published. Required fields are marked *