主页 > imtoken怎么下载 > 程序员如何切入区块链去中心化应用开发

程序员如何切入区块链去中心化应用开发

imtoken怎么下载 2024-01-26 05:08:13

前段时间,一款以太坊游戏应用:Fomo3D火得不得了。 短短几天时间,就吸引了数以万计的以太币入局。 在第一轮比赛中,一名“黑客”非常巧妙地运用了以太坊规则,成为了最终的赢家,拿走了一万多ETH的奖金。

区块链应用的价值在这款游戏中得到了充分的体现。 Fomo3D 游戏成功的核心依赖于以太坊提供的可信不可篡改的平台。 当游戏规则确定后,一切都按照规则运行,任何人都不能干涉。 今天的文章将介绍程序员如何切入去中心化应用的开发。

集中申请

作为对比,我们来看一下中心化应用,它其实就是一个现有的互联网应用。 为什么是中心化应用? 看一下它的架构图:

通常我们与应用程序的前端(或客户端)接触。 前端可以是HTML5网页、小程序或APP。 前端显示的内容通常会向服务器发送请求,服务器返回相应的内容给前端。 前端的Actions也会对请求进行转换,发送给服务器,服务器处理后将数据返回给前端。 也就是说,我们看到的所有内容或者操作都是由一个中心化的服务器控制的,所以它是一个中心化的应用。

以太坊为什么叫以太坊_以太坊pow转pos时间_以太坊pos导致中心化

去中心化应用DAPP

去中心化应用程序有什么不同? 看一下它的架构图:

前端的表现也是一样,还是H5页面、小程序、APP、DAPP和传统App。 关键是后端部分不一样。 后端不再是中心化服务器,而是分布式网络上的任意节点。 注意 它可以是任何节点。 应用程序中向节点发送的请求通常称为事务。 交易和中心化请求有几个很大的区别:交易数据经过用户个人签名后发送到节点,节点接收。 交易请求后,请求会广播到全网,全网达成共识后才会执行交易(实际执行其功能的不一定是连接的后端节点,虽然后端会也执行)。 并且中心化请求大部分是同步的(及时得到结果),而交易大部分是异步的,这是开发去中心化应用需要注意的。

从节点获取数据状态(如交易结果)一般通过事件回调获取。

以太坊pow转pos时间_以太坊pos导致中心化_以太坊为什么叫以太坊

如何发展

集中式应用程序开发中最重要的两个部分是客户端 UI 表示和后端服务程序。 UI表示通过HTTP请求连接到后端服务程序,后端服务程序运行在服务器上,如Nginx Apache等。

开发去中心化应用程序最重要的部分是客户端 UI 性能和智能合约。 智能合约就像一个后端服务程序。 智能合约运行在节点的 EVM 上。 客户端调用智能合约通过节点发起的RPC请求完成。

这是一个比较:

以太坊pow转pos时间_以太坊为什么叫以太坊_以太坊pos导致中心化

因此,对于去中心化应用,程序员可以从两个方面入手:

一是去中心化应用的客户端开发。 熟悉客户端软件(如WebAPP等)开发的同学,只需要了解客户端与区块链节点的API接口即可。 如果是目前使用最广泛的在区块链平台以太坊上开发去中心化应用以太坊pos导致中心化,就需要了解Web3库。 Web3封装了节点暴露的JSON-RPC接口。 例如Web3提供的功能有:获取节点状态、获取账户信息、调用合约、监控合约事件等。

目前的主流语言都有Web3的实现。 以下是一些实现供您参考:

以太坊pos导致中心化_以太坊为什么叫以太坊_以太坊pow转pos时间

另一个切入点是智能合约的开发。 以太坊推荐的语言是 Solidity。 有些学生害怕学习一门新语言。 Solidity 的语法其实很简单。 经验)学生三五天就能学会。 我还录制了一个视频课程:深入讲解以太坊智能合约语言Solidity。

下面我们用一个 Hello 合约来体验一下 Solidity 的语法:

如果把上面的contract关键字改成class,就相当于在其他语言中定义了一个类。

有兴趣的同学可以进一步研究本DApp开发案例Web3与智能合约交互实战,

以太坊为什么叫以太坊_以太坊pos导致中心化_以太坊pow转pos时间

在DAPP的开发过程中,一些开发工具可以帮助我们事半功倍,比如:Truffle开发框架和模拟节点的Ganache工具等。本文一步步教你开发部署第一个去中心化应用

补充

对于想切入去中心化应用开发的同学来说,对区块链运行原理的理解肯定会是加分项,尤其是对各种共识机制(POW、POS、DPOS等)的理解,对P2P的理解网络,以及各种加密和哈希算法的应用。 有的同学想做区块链的底层开发,区块链运行原理是必须的。

想系统学习以太坊DApp开发,关注。

欢迎来到知识星球提问。 全球汇聚了300多位区块链技术爱好者。 深入浅出地讲解区块链——系统学习区块链以太坊pos导致中心化,打造最好的区块链技术博客。