The Best Way To Learn Blockchain Programming



  • http://www.dappuniversity.com/articles/how-to-learn-blockchain-programming

    Hey everybody, it’s Gregory from Dapp University!

    Today I want to show you the best way to learn blockchain programming.

    How to Learn Blockchain Programming

    Trying to learn blockchain programming can feel very overwhelming! You will surely come across many new concepts, terms, programming languages, and developer tools. It can feel like you are stepping into a different world entirely. In many ways, you are! That’s because building blockchain technology is a fundamental paradigm shift from building traditional web technology. There is a reason that the blockchain revolution is often referred to as the arrival of Web 3.0. While some aspects of Web 2.0 are here to stay, others are replaced by new ways of solving problems that old ways could not. There is a steep learning curve to overcome in order to understand the blockchain, and how to build applications for it.

    How can you overcome this learning curve faster? How can you make learning blockchain programming easier?

    The best way to learn blockchain programming is to find a simple programming tasks that introduce you to the new way of doing things and force you to learn all of the concepts that enable you to perform the tasks and explain why the tasks work. That’s the exact approach I’ll take in this article because it's the most efficient way to learn any new skill: by doing the skill itself. I call this a “task-oriented” approach to learning. When you focus on tasks that you don’t know how to complete, you’re forced to gain the skills you need to complete the task, and all of the supporting knowledge that enables you to perform that skill. Much of this supporting knowledge you gain this way is conceptual knowledge. All of this conceptual knowledge will give you the bigger picture about what you’re trying to learn, i.e, blockchain programming! Once you have the conceptual knowledge, you’ll also have the skill. This incredibly efficient because you’re learning skills and concepts at the same time.

    This task-oriented approach starts with identifying a question that you want to know the answer to, then identifying the task that will give you the answer. You break this task down into skills, and then acquire the supporting knowledge that will enable you to perform these skills. These steps look like this:

    • Identify the question you want to know the answer to
    • Identify a task that will answer the question
    • Identify the skills that teach you how to complete the task
    • Identify the supporting knowledge you need in order to complete the skill

    This looks like a “round trip” that can be visualized like this:

    image

    Task Oriented Learning

    Let’s use an example to see how this approach works. Let’s start with the question “how does a blockchain application work”? What task will answer this question for you? The answer is to build a blockchain application! You then must identify the skills in order to complete this task, like learning a new programming language. You also must identify all supporting knowledge like what is happening when the code is executed. All of this supporting knowledge will teach you something about how the blockchain works and how the application works.

    In the context of blockchain programming, the "round trip" looks like this:

    image

    Blockchain Learning

    When applying this method, big tasks must be broken down into smaller subtasks. For example, building a blockchain application is to big of a task because it produces an overwhelming number of skills that you must learn in order to complete it! The best way of applying this method is to find small tasks that support a larger purpose and accomplish bigger tasks. It must be treated like an iterative process. If the task is too big, it must be broken down into subtasks, and you can perform the task-oriented learning process on each subtask. Once you have completed this process, you’ll possess all the skills and knowledge required to complete the main task of building a blockchain application in order to answer the original question “how do I build a blockchain application”?

    While this method is the most efficient way to learn, it doesn’t work well when you get stuck on any of the steps in the process. For example, what if you can’t identify the skills that teach you about the task? What if you can’t identify the supporting knowledge you need in order to complete the tasks? I admit, this can be very hard. I can identify with this, as I learned blockchain programming on my own without many good resources available. I had to identify all of the questions, tasks, skills, and supporting knowledge myself! But because of this, I can accelerate your learning by pointing you to the tasks that will give you the most understanding, break them down into the skills you need complete the tasks, and all the supporting knowledge that will enable you to complete that will give you the most understanding! I can maximize efficiency by showing you the simplest subtasks that yield the most benefit of knowledge. That’s exactly what I’ll do for the rest of this article.

    Now that I’ve shown you the best way to learn blockchain programming, let’s put it into practice. Let’s start with the original question, “how does a blockchain application work?” As we said earlier, the main task that will answer this questions is to build a blockchain application. This can be broken down into smaller subtasks. The subtask that I want to focus on in this article is — sending ether from one account to another —. This is one of the most basic subtasks in developing decentralized applications on the Ethereum blockchain. It will teach you a lot about how the blockchain works, while simultaneously teaching you how to complete a fundamental programming task that you can build upon to accomplish more complex programming tasks.

    Now that we have the task, to send Ether from one account to another. As promised, I’ll teach you the skill to complete the task first. Here is what the code looks like to complete this task:

    web3.eth.sendTransaction({
    from: '0xa4c30e1546820aaddf2a50b0186bb35f985e9465',
    to: '0xa552bf81fa9540a2df205a6789d603fe3370563a',
    value: 1000000000000000000,
    gas: 21000,
    gasPrice: 10000000000
    })
    In order to complete this task, you simply need to execute this code in a JavaScript runtime environment that connects to an Ethereum client through Web3JS.

    That’s the skill. Now, let’s examine all of the supporting knowledge that will teach you how to perform the skill yourself in order to complete the subtask, while simultaneously beginning to answer the larger question “how does a blockchain application work?” As I unpack the supporting knowledge, I will introduce several concepts that explain how this work. Some of these things might be obvious, but continue reading as you will learn something new as the explanation unfolds!

    http://www.dappuniversity.com/articles/how-to-learn-blockchain-programming



  • if you want to learn Blockchain Programming , first of all ,ask youself the question:

    do you know how to build a DAPP or bot on MIXIN or PRESSone?

    🎓



  • 让我想起了“输入倒逼输出”,“用是最好的学”