在炎热的区块链,我相信许多学生已经渴望加入区块链发展团队,但他们觉得无法开始。基于以太网平台,本文将轻松把大家带入到区块链技术的开发和应用中。
什么是以太博物馆
我们需要开发一个区块链应用程序。从零开始开发一个区块链是不现实的,所以我们需要一个像以太博物馆这样的平台。以太网是一个基于区块链技术的应用平台。它允许任何人在平台上构建和使用通过区块链技术运行的分散应用程序。
对于不懂这句话的人来说,可以理解为Ethereum是区块链的Android,是一个开发平台,让我们可以像Android Framework一样,基于区块链技术编写应用。
在以太网之前,区块链写作的应用是这样的:复制一个比特币代码,然后改变底层代码如加密算法、共识机制、网络协议等。。以太网平台封装了底层的区块链技术,让区块链应用开发者可以直接基于以太网平台开发,开发者只需要专注于应用本身的开发,大大降低了难度。
以太网是目前最流行的区块链应用平台,围绕以太网已经形成了一个相对完善的开发生态系统:有很多开发框架和工具可供选择。
什么是聪明的合同
对区块链略知一二的学生一定都谈到过这个词:聪明的合同。简单地说,智能合同是一个在区块链运行的程序。
smart contract的英文是Smart Contract,与人工智能的智能无关。智能合同的概念最早是由尼克·萨博在1995年提出的。它的概念很简单,就是把法律条文写成可执行代码。当时,没有区块链,但智能合同和区块链几乎是完美的搭配,因为区块链的项目,像法律规定一样,都是按照规则运行的。
那么如何写聪明的合同呢?Solidity是Ethereum中编写智能合同的官方推荐语言。你可能没听过这种语言。不要害怕。如果稍微懂一点Python或者Java,学习Solidity是很容易的。
我们先来看看一个契约实度文件会包含什么。我用思维导图来表示:
再次查看代码,有一个合同文件simplestorage.sol如下:
这个智能契约的功能是在区块链中保存一个变量,然后提供两个函数:set和get来设置和获取变量。
然而,这样的智能合同程序不能称为应用程序。我们通常看到的应用,比如微信、微博、知乎等。,需要至少一个与用户交互的界面供用户使用。无论这个界面是应用程序、网络还是小程序,区块链应用程序也需要这样的交互式用户界面,因为它们是应用程序。
区块链应用
区块链应用,因为运行在分散的区块链网络上,所以通常称为分散应用。分散式应用,虽然每个人对它的定义不同,但一般认为,如果一个应用的关键数据存储在区块链网络,这样的应用可以视为区块链应用。
我们可以将区块链理解为一个不可更改的分布式数据库,用于访问应用程序数据。
因此,一个分散的应用程序通常应该有几个组件,我用思维导图来表示:
我们已经知道如何编写智能合同,应用的UI展现部分,比如编写HTML5,也有很多教程,关键部分是如何让UI与智能合同进行交互。这需要使用web3.js库
web3.js
Web3.js是Ethereum的官方Java API,可以帮助智能契约开发人员使用HTTP或IPC与本地或远程Ethereum节点进行交互。
应用程序的整个通信交互过程可以抽象为下图:
如果一个前端接口需要与上面的智能契约进行交互,核心Java代码如下:
交互代码主要包括以下步骤:
初始化web3,设置调用合同的默认账户,使用合同的ABI和合同地址创建合同对象,使用合同对象调用合同函数
摘要
让我们做一个总结,写一个完整的区块链应用程序。总而言之,我们需要编写三部分代码:
1.写聪明的合同;
2.编写应用UI;
3.写UI月度合同交互代码。
当然,在实际的开发过程中,我们会需要很多问题,比如如何构建开发环境,如何测试,如何部署等等。
为此,我特意为大家准备了一门非常实用的区块链应用开发课程:区块链入门和分散式应用
获取更多IT信息,关注海量开放在线课程微信官方账号
1.《区块链开发技术的应用 如何基于区块链技术开发应用》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《区块链开发技术的应用 如何基于区块链技术开发应用》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/caijing/1795114.html