以太坊凭借其以太坊虚拟机(EVM)和智能合约在推动区块链技术的广泛采用方面发挥了重要作用。这个平台可让开发人员创建和启动分布式应用(DApp),到目前为止,开发人员已做出反应,已构建了1,500多个DApp!您是对构建DApp感兴趣的开发人员吗?这份DApp开发指南可以帮助您入门.
DApps开发不是一个简单的即插即用项目,它需要认真的编程。本DApp开发指南无意涵盖其详细信息,而是提供了有关这些步骤的高级概述。它还在本文的后半部分提供了“资源”部分,指示您可以在何处了解有关特定步骤的更多信息.
DApp开发:需要执行的步骤
以下是开发人员逐步创建和启动以太坊DApp所需做的概述:
1.学习以太坊:
DApp需要遵循特定的概念框架,唯一的了解方法就是学习以太坊。.
例如,DApp必须是开源的,并且必须在没有任何实体控制大多数加密令牌的情况下自主运行。对DApp的更改必须遵循社区的共识。后端代码必须包含智能合约,并且必须在分散的区块链上运行。 DApp必须使用通过标准加密算法生成的加密令牌,并且必须遵循加密标准将数据存储在区块链中.
学习去中心化的基于共识的以太坊区块链平台是开发人员进行的第一个不可谈判的步骤.
2.获取您的区块链:
开发人员有很多客户可以选择,但对于新的DApp开发人员,我们建议使用“ testrpc”。该工具现已成为Truffle工具套件的一部分,它易于使用,并且易于使用命令行界面(CLI)入门.
该工具默认不会挖掘块,但是出于开发目的,可以使用CLI指定块间隔.
3.与区块链通信:
与区块链通信的最简单,最常见的工具是“ web3.js”。安装起来很容易,并且有特定的说明来配置必要的参数,例如:
- 配置acongig.js文件;
- 配置web3 API函数,用于与区块链进行通信.
4.学习扎实:
Solidity是以太坊(Ethereum)编写智能合约的专有语言。这是一种专门为此目的而设计的功能丰富的语言,而这种高级编程语言的灵感来自C ++,Java,Python和JavaScript。 DApp可以使用任何语言编写其前端代码,但是后端代码必须包含智能合约,因此对于新的DApp开发人员来说,这种学习也是不可协商的.
5.编写智能合约代码:
开发人员编写智能合约的代码必须遵循以下广泛的有效性准则:
- 将计算逻辑和存储要求降到最低,因为执行智能合约需要“加油”,即衡量计算能力。它不是免费的,“汽油价格”,即必须支付一定数量的加密代币。这意味着以太坊(ETH),即以太坊的原生加密货币需要花费在执行智能合约上。简单的计算逻辑需要更少的气体.
- 代码必须避免复杂性,因为代码越复杂,出错的可能性就越高。智能合约的结果是不可逆的,因此编写简单,无错误的智能合约势在必行.
6.部署智能合约:
建议使用的工具套件是“松露”。具有以下优点:
- 目录使开发人员可以维护她所有的智能合约;
- 该工具可以轻松地整合到测试框架中,因为脚本可以在测试环境中部署合同,运行“松露测试”并运行常规测试.
- 使用此工具套件进行部署很容易,并且可以在config.js文件中轻松设置所需的参数。 Testrpc必须在单独的窗口中运行,部署才能正常工作.
7.调用智能合约:
智能合约的调用必须使用十六进制字符串,但是,有以太坊合约的“应用程序二进制接口”(ABI)库可以帮助您实现此目的。.
8.设置一个以太坊账户:
要执行智能合约,开发人员需要花费以太币,而她需要为此创建以太坊账户。推荐使用“ eth-lightwallet”,因为生成公钥和私钥对并对其进行管理很容易。开发人员需要使用关键详细信息更新config.js文件。开发人员可以回到松露测试并查看以太币在账户之间的移动.
重要提示:开发人员不得与任何人共享其私钥,也不得在任何在线论坛上公开其私钥。.
9.使用智能合约进行交易:
在购买了一些Ether并将其存储在她的帐户中之后,开发人员需要执行DApp开发的最后一步,即使用Ether进行交易。有3个选项:
- 转移到另一个地址作为值;
- 调用合约功能,该功能将更新网络状态,并花费以太币向矿工支付费用;
- 涉及一项合同,该合同更新网络状态并接受以太币作为付款。开发人员还需要向矿工支付费用.
10. DApp开发:有用的资源
有关DApp开发步骤的概述,开发人员可以阅读 这 全面的Hackernoon文章。以下是各个步骤的资源:
- 学习以太坊: 以太坊开发教程, 以太坊白皮书, 和 以太坊黄纸.
- 的GitHub 材料 对于Testrpc.
- 的GitHub 材料 对于web3.js.
- 在线的 课程 求实.
- 的GitHub 材料 用于松露工具套件.
- 的GitHub 材料 用于ABI库.
- 的GitHub 材料 用于eth-lightwallet.
此外, ‘dappsfor初学者’是一个很好的网站,可供新开发者获得指导。如果您不确定,这是您学习区块链开发的5个理由。仍在寻找灵感的是2018年将遵循的十大dapp.
谁愿意在下面的评论部分中听到您对第一次dapp开发的经验。.