主页 > imtoken苹果版教程 > 区块链编程:DApp 开发简介

区块链编程:DApp 开发简介

imtoken苹果版教程 2023-05-04 07:29:47

这是您开始探索区块链开发时需要了解的内容。

一、DApp介绍 什么是DApp?

DApp是Decentralized Application的缩写,去中心化应用。

在某种程度上,比特币可以说是第一个出现的 DAPP,因为它是完全开源的,奖励贡献者,不受中央机构控制,并使用区块链作为底层技术。 区块链作为一种基础设施,提供了一个分布式去中心化的可信数据库以太坊的应用案例是什么,人们可以基于它开发出适用于不同场景的各种应用。 简单来说,DAPP 和普通的应用程序一样,只是它是完全去中心化的。 由类似于以太坊网络本身的节点运行的 DAPP 不依赖于任何中心化服务器。 DAPP 是去中心化的,可以全自动运行。 目前,DApp通常是指基于以太坊或EOS上的智能合约开发的相关应用。

DApp运行原理

DApp的底层区块链开发平台就像手机的iOS和Android系统。 是各种DApp的底层生态环境。 DApps是区块链底层平台生态衍生出来的各种分布式应用,也是区块链世界的基础 对于服务商来说,DApp之于区块链,就像APP之于iOS和Android。

什么是智能合约?

如果你把区块链想象成一个数据库,一个数据源,那么智能合约基本上就是一个数据库操作脚本,它决定了你如何在区块链上存储和修改数据。

DApp应用案例

到这里查看DApp行业的最新动态:

加密猫

Fomo3D

智能合约开发简介

其他币都要用到以太坊应用_以太坊的应用案例是什么_siteweiyangx.com 以太坊经典应用

智能合约是存在于以太坊区块链上特定地址的代码(其功能)和数据(其状态)的集合。 智能合约账户可以相互传递信息,进行图灵完备的计算。 智能合约在称为以太坊虚拟机 (EVM) 的字节码(以太坊特定二进制格式)区块链上运行。

智能合约用Solidity等高级语言编写,然后编译成字节码上传到区块链。

智能合约开发流程大致有以下几个步骤:

原理图:

智能合约开发流程图:

坚固性

Solidity 是一种语法类似于 JavaScript 的高级语言。 它旨在以编译方式生成 EVM 代码。

代码段:

pragma solidity ^0.4.22;
contract helloWorld {
 function renderHelloWorld () public pure returns (string) {

其他币都要用到以太坊应用_以太坊的应用案例是什么_siteweiyangx.com 以太坊经典应用

return 'helloWorld'; } } 复制代码

ERC-20

最著名的智能合约,想必大家都听说过以太坊的应用案例是什么,就是ERC20。 ERC-20 是代币的标准协议。 简单地说,任何 ERC-20 代币都可以立即兼容以太坊钱包(几乎所有支持以太坊的钱包,包括 MIST、imToken 等),因为交易所已经知道这些代币是如何运作的,所以他们可以很容易地整合这些代币。 这意味着,在许多情况下,这些代币可以即时交易。

基于 ERC-20 的令牌包含以下接口:

contract ERC20Interface {
    function totalSupply() public constant returns (uint);
    function balanceOf(address tokenOwner) public constant returns (uint balance);
    function allowance(address tokenOwner, address spender) public constant returns (uint remaining);
    function transfer(address to, uint tokens) public returns (bool success);

siteweiyangx.com 以太坊经典应用_其他币都要用到以太坊应用_以太坊的应用案例是什么

function approve(address spender, uint tokens) public returns (bool success); function transferFrom(address from, address to, uint tokens) public returns (bool success); event Transfer(address indexed from, address indexed to, uint tokens); event Approval(address indexed tokenOwner, address indexed spender, uint tokens); }
复制代码

Solidity开发环境介绍

下面我简单介绍一下Solidity智能合约相关的开发环境和工具。 这些是智能合约开发中常用的工具集合。

集成开发环境

开发基于Solidity的智能合约,可以使用以下开发环境

松露

其他币都要用到以太坊应用_以太坊的应用案例是什么_siteweiyangx.com 以太坊经典应用

Truffle 是基于以太坊的 Solidity 语言的开发框架。 本身基于 Javascript。

安装松露

npm install -g truffle
复制代码

mkdir myproject && cd myproject && truffle init
复制代码

Ganache Ganache 是一个本地运行的带有图形界面的以太坊区块链浏览器/模拟器。 它在本地运行一个 RPC 服务器。 通过连接Ganache,我们可以完成智能合约的本地测试,而无需真正访问以太坊的公网或测试网。

通过使用 Ganache,您可以快速查看您的应用程序如何影响区块链。 详细信息:例如您的帐户、余额、合同和 Gas 成本。

盖思

geth的全称是go-ethereum,是以太坊的官方钱包客户端。 Geth 是基于命令行的。 通过使用Geth和相关参数,我们可以访问以太坊的公网、测试网和私网。 除了主网,以太坊还有各种测试网。 在使用geth之前,需要先解析进入哪个网络。 Geth相当于在本地启动了一个以太坊网络节点,但是通过参数控制,节点可以选择是全节点还是轻节点。

Geth控制台提供了admin、debug、eth、miner、net、personal、rpc、txpool、web3等服务和命令,例如常用的操作有这些:

图为在geth命令行下创建新账户并获取余额的操作:

其他币都要用到以太坊应用_以太坊的应用案例是什么_siteweiyangx.com 以太坊经典应用

蒙蒙

Mist 是以太坊的官方图形钱包。 通过这个钱包,用户可以轻松地管理账户、查询余额以及发送和接收交易。 Mist 的另一个非常有用的功能是编译和部署 Solidity 智能合约。

web3.js

web3.js提供了一个web3对象,它封装了一组可以用来操作智能合约的方法。 在底层实现中,它通过RPC调用与本地节点geth通信。

geth本身可以和合约进行交互,另外一层通过web3.js进行封装,这样我们就可以使用js程序和合约进行交互,方便开发。

介绍

npm install web3
复制代码

以太坊通过web3的交互流程大致如下:

总结

随着近几年区块链的火爆,DApp被推上了风口浪尖。 本文从技术角度简单介绍一下DApp涉及的技术点。 在后续的文章中,大家可以更详细的分享一些DApp开发的具体案例,介绍和介绍一些DApp Demo和具体的开发流程等。

文/李工

长期在移动互联网中混迹的普通程序猿。 曾供职于91、百度。 目前是区块链开发工程师,资深韭菜。 他从韭菜的经历中学到了扎实的区块链知识。