Translator: Ocean biscuit

The original link

The first installment of a trusted tutorial for web2 to web3 developers

First published in the JAKK development blog series

Welcome to the first in a series of blogs aimed at making it as easy as possible for Web developers to build distributed applications and smart contracts based on Ethereum.

We will use a sample project to show how to build, test, secure, and deploy distributed applications supported by Ethereum Blockchain smart contracts.


What does the series focus on?

In January 2017, I stumbled on the weird Ethereum while surfing the Web for tech updates. I didn’t know how to pronounce it, but it impressed me.

In March 2017, I began to understand this esoteric concept of distribution and got a job at JAKK, working to transform the music industry on a distributed basis. In the past six months two things have become clear:

  1. There are a lot of complicated processes and bad ideas

  2. There are an awful lot of Web developers out there who need to push the ecosystem

My motivation for writing this series is clear: Distributed development offers the Web unimaginable or even more potential. By lowering the barriers to entry, developers build an entire ecosystem, which leads to more ideas, tool iterations, and quality products.

A recent survey shows that a lack of guidance is troubling web3 developers.

So who is this series for?

If you’re a Web /JavaScript developer who understands the distributed landscape and wants to take the initiative to learn how to build applications based on Web3, this series is for you. Of course, anyone who doesn’t understand an existing tutorial or Truffle/Meteor template and is looking for an easier entry point will do just as well.

Before we go any further, let’s get a few ideas

Most of the tutorials conflate many unrelated terms and try to teach future web3 developers the intricate economic codes of what vitali likes for breakfast. This series doesn’t do that.

It is critical to identify and establish each person’s responsibilities among the many technology stacks. Such developers don’t get lost in their thinking, they start thinking about where the application can use the stack.

Web3

Web3 is the next generation of the Internet. Ethereum Ecology has come up with this concept and has consistently interpreted it as a distributed network. Simply put, Web3 is Web2 without a centralized server or database. If the plan starts, Web 3 will become part of the web, and Web 3 developers will become Web developers again.

In this way, distributed repositories could become one of the infrastructure options, like now MongoDB VS Firebase or REST VS GraphQL — your EC2 portal might be replaced by Ethereum and your standard configuration could be stored in Swarm.

Changes to Web2.0 will be incremental, and we will gradually see backend use of web3.0-like components such as Bitcoin,BitTorrent, and Namecoin. This trend will continue, and the true Web3.0 version of Ethereum is likely to be adopted by content-oriented sites like note-taking sites and transactional sites.

http://gavwood.com/web3lt.html (23 April 2014)

Dapp

Dapps are distributed apps. It’s hard for older developers like us to understand: there are no servers. However, the “back end” code runs on a distributed end-to-end network of nodes, and the front end code is provided by a distributed CDNS.

Web2 and Web3

Blockchain

You can think of blockchain as a database that can only grow, not stored on a single server, but scattered across a network of nodes, each of which stores the entire transaction record of the network.

As its name suggests, a blockchain is an immutable record of packets, containing a set of endearing operations that prove relevant to the blockchain.

In the Bitcoin blockchain, these transactions are purely financial (X to Y totals N bitcoins). In the Ethereum blockchain, a number of transaction types can be calculated using a program that contains transaction processing rules.

[Lauri Hartikka] (medium.com/@lhartikk?s… “”Go to the Profile of Lauri Hartikka””) wrote an excellent article on blockchain mini-implementations that introduced this nascent technology.

Ethereum

Ethereum is a blockchain-based distributed computing platform that provides scripting capabilities through smart contracts. Dapps can leverage Ethereum and related technologies, and this series will continue to focus on those technologies.

However, this doesn’t necessarily mean that these technologies will be used: BitTorrent,Popcorn Time, and Tor are distributed applications that don’t use Ethereum.

Smart Contract

The smart contract in the Ethereum environment is a script calculated on a global network of public nodes — EVM (Ethereum Virtual Machine) — and can read/write transactions from the blockchain. Smart contracts can be thought of as a distributed computing platform tailored for dApps; Contact with the data warehouse via HTTP APIS, not based on a centralized server.

It’s important to distinguish between dApps and smart contracts: in fact, computing data and service channel connections are a big part of a Dapp, and just like your regular app, a Dapp can do zero-connection computing.


Web3 development status

The JavaScript framework debate has been going on for years and has seen numerous attempts to hide the nuances of Web development. No framework wins – the fact is that libraries win because they are popular and popular.

At the beginning of Web3 era, the framework has appeared a large, unified trend. The preference for Meteor and Truffle frameworks limits the opportunity for people to learn the original knowledge of Web3 components, and the project’s long-term maintainability is not optimistic.

In contrast, automated, complex, separate, and repetitive tools related to Dapp running and smart contracts can promote good practice and a friendlier learning curve.

There is also an emerging danger that in chasing the concept of the “new Internet” we will lose recent technological progress if we discard the bad parts of Web 2.0\. The recent Web3 ecosystem has seen frequent regression of programming libraries and front-end construction patterns.

Build a Web3 project

Two points are important for a Web3 project: Web3.js(the way a Dapp connects to the Ethereum blockchain and smart contracts) and TestRPC(your local Ethereum blockchain). Web3.js is the most advanced Ethereum library, and TestRPC is the easiest way to get local Nodes running in recent times.

This tutorial and sample code uses Web3.js and TestRPC and the simplest and most accessible tools to reduce cognitive load. We’ll start building a sample project in the article below, but feel free to ask any questions and observe the results in the comments, or chat privately with JAKK and other Web3 developers on the META Web Free channel.

The next issue…

We’ll explain how to design, write, protect, and apply smart contracts.


Develop reading

  • ? Good glossary to keep handy

  • ? Nice intro to crypto-economics

  • 3 ️ ⃣ Three blockchain benefits

  • ? How does Ethereum work, anyway?


Project update

A great project spin-off code maintained by people keen on distributed applications is open source. This makes mining data for inspiration and exercise an opportunity – I don’t mean for you to contribute to open source!

At JAKK we are building META networks and protocols, and recently used data from our partners to explore expected revenue. Take a look at our code and talk to us about anything you find!

withTwitter 和Facebookcontactwe .


Originally posted on blog.jaak.io _ 2017.10.12_

  • Ethereum

  • Web3

  • Web2

  • Decentralised Development

  • Software Development

Is it a flash in the pan or a lasting craze?

To support us, you can email us which article we like better.

[] (hackernoon.com/@level_out?… “”Go to the profile of Luke Hedger””)

[Luke Hedger](hackernoon.com/@level_out “”Go to the profile of Luke Hedger””)