App组件
dApp的组件会有三个不同的类型:智能合约,前端逻辑(UI)和数据存储。
智能合约
智能合约存储了dApp的业务逻辑和当前的状态,这个是dApp和传统网络应用的大区别,也正是因为这一点让dApp具备了以上提到过的优势。
前端/UI
尽管后端逻辑需要kaifa者完成智能合约代码,并把它部署在qukuailian上,但是在前端,kaifa者还是使用标准的网络技术,比如HTML和javascript,因此kaifa者可以使用自己熟悉的工具,库和框架。
步:创建智能合约:
我们dApp中的智能合约是一个简单的例子,它可以查看数据并且反应出qukuailian上的变化。在这个例子中,我们会通过ChainlinkETH/USD喂价对查看ETH/USD的价格,然后将结果存储在智能合约上。
步是打开Chainlink的文档,然后导航到UsingDataFeeds页面。从这里将源代码复制进你的IDE中的一个新的文件里(比如VisualCode),或者你可以点击“OpenInRemix”按钮,然后使用在线IDERemix。
在这个例子中,我们会使用VisualStudioCode和Hardhat(一个EVMkaifa框架)。
首先,为我们的dApp创建一个新的文件夹,并在这个文件夹中创建一个后端文件夹,用来存储智能合约代码:
mkdirchainlink-dapp-example
cdchainlink-dapp-example
mkdirbackend
cdbackend
接下来,我通过VSCode打开创建好的文件夹,然后安装Hardhat:
npminit-y
npminstall--save-devhardhat
npxhardhat
(choosecreatejavascriptproject,choosedefaultparameters)
当安装完成之后,在“contracts”文件夹中删掉Touch.sol,然后在这个文件夹中创建一个叫做PriceConsumerV3.sol的文件。在这个文件将存储我们的合约,所以将Chainlink文档中的代码复制到这个文件中,然后保存。
在样例代码中,你会看到demo合约已经有一个叫做getLatestPrice的功能来通过Rinkeby上的ETH/USD喂价对查看Ethereum的当前价格。
Web3.0是IT行业的概念术语,用以描述互联网发展的3.0时代中,网站所应具备的满足用户需求的应用特征,强调网站带来的使用体验,聚焦高速且智能化、用户对个人数据确权、隐私的良好保护、去中心化运行、统一的身份认证等关键词。
Web3.0并不是某种特定技术,任何能支持互联网提供Web3.0式使用体验的技术,都是Web3.0的底层技术基础。目前互联网的发展正处于Web1.0、2.0并存,同时向Web3.0探索的阶段。
去中心化,是互联网发展过程中形成的社会关系形态和内容产生形态,是相对于“中心化”而言的新型网络内容生产过程。在一个分布有众多节点的系统中,每个节点都具有高度自治的特征。节点之间彼此可以自由连接,形成新的连接单元。任何一个节点都可能成为阶段性的中心,但不具备强制性的中心控制功能。节点与节点之间的影响,会通过网络而形成非线性因果关系。这种开放式、扁平化、平等性的系统现象或结构,我们称之为去中心化。
作为qukuailian诸多特性中的重要的一个特点,其使用分布式储存与算力,使得整个网络节点的权利与义务相同,系统中数据本质为全网节点共同维护,从而qukuailian不再依靠于中央处理节点,实现数据的分布式存储、记录与更新。