主页 > imtoken钱包下载 > 以太坊DAPP最佳开发实践-工具

以太坊DAPP最佳开发实践-工具

imtoken钱包下载 2023-10-01 05:12:28

本文作者:苑风 请注意:转载请联系作者获得授权;转载时请保留以上版权声明…

--------------------------------------

随着近期Fomo3d的兴起,基于以太坊的DApp开发越来越受到关注。 但是如何开发一个DApp,它的基础开发环境是什么? 如何测试和部署是个大问题。 互联网上的信息分散、陈旧,缺乏实时更新和整理。 笔者在链上部署了100+个合约,接触过各类合约,亲身体验过几个DApp的开发。 我在这方面略有体会,也找到了比较靠谱的环境和开发流程。 分享给大家,希望能探索出更合理的流程。

DApp 简介

DApp(Decentralization Application):分布式应用。 区别于基于Android或iOS的应用,关键是D字。我们一般指的是基于区块链的应用,最流行的是基于以太坊的应用。 当然,由于EOS的优秀性能,它也逐渐崭露头角。 我们接下来讲DApp的时候,特指基于以太坊的应用。

这类应用的特点是核心数据存储在以太坊上,只需要一个前端应用展示。 因此,它可以是无服务器的。 传统的后端数据都在以太坊上,前端js使用以太坊提供的web3.js提供的接口读写合约,发起交易。

Tips: web3.js这个名字比较讲究,相对于传统的web2.0,它意味着一个全新的web应用

当然,作为一个更纯粹的DApp,我们甚至可以把前端部署在区块链上,比如现在流行的IPFS。 这样所有的数据,甚至是基本的静态文件存储,都上链了,基本上就是一个永久的应用。 但受限于目前的基础条件,还很难做到这一点,区块链的存储也无法应对大规模访问。

工具集合

配对

Parity作为以太坊的一个节点,可以部署私有链、开发链、主链等不同网络类型。 用于开发、测试、部署的不同环节。 其UI流程便于交互。 方便进行转账、合约部署和执行等各种操作。 具体版本推荐使用1.8.x。 最新的2.0在原来的基础上多了一个shell,极难使用,而且整个连接的跳转全部丢失以太坊发币工具,所以不要用。 1.9.x 系列也发生了非常奇怪的变化。 有一种事情越来越糟的感觉。 感觉整个 Parity 团队都在做一个新项目 Polkadot,并没有做的打算。

松露

Truffle提供了一套完整的DApp开发脚手架,里面有很多不错的工程框架可以直接开箱。 建议你把他的文档放上去:

从头到尾仔细阅读。 具体的使用过程可以参考他们的文档,值得研究,可以按照上面的例子来做。

齐柏林飞艇

这是一个基于solidity的合约开发组件。 它有两个含义:

1.开发一些合约开发的通用组件,方便复用

2. 合约组件经过严格测试,目前没有漏洞

大家写合同,尤其是发币合同,一定要多参考。 今年年中,有两个项目因合约漏洞导致代币归零。 即使他们没有利用好zeppelin上的安全功能,也不会直接继承成熟的ERC20代码。 这真是十亿级的大教训。

元掩码

人称小狐狸。 它是一个基于浏览器插件的钱包。 通过MetaMask,DApp可以在发起交易时直接拉起DApp,然后将交易上链。 整个过程都可以打开。 如果没有这个,每次交易都需要通过其他各种方式,比如找钱包扫码,然后通过手机钱包应用将交易上传到链上,整个体验就会中断。 而且truffle提供了完整的Metamask接入流程,直接参考以下文档即可:

年初的Ethercat应用通过MetaMask的使用为大家提供了很好的示范。 通过这种方式的结合,可以把DApp做的如此流畅流畅。 当然这个体验过程目前在PCWeb上是没有问题的,但是在手机上就很麻烦了。 没有适用于移动浏览器的类似插件。

为此,一些钱包提供商提供了类似的解决方案,可以解决用户也可以在手机上玩DApps的问题。 作者团队也在做类似的事情,有需要的可以联系我。

VS代码

在编辑器方面,我强烈推荐 VSCode。 微软开发编辑器的能力在业界真的是一流的。 这个编辑器支持各种语言,对Solidity的支持也很好。 重要的是打开很多文件很快,定制能力也很强。

英富拉

Infura 项目非常看好。 看下图:

以太坊发币工具_以太坊发币成本_以太坊免费一键发币

简单的说就是以太坊的接入网关。 目前可以接入以太坊的不同网络,包括主网和各种测试网。 当然,他们也支持IPFS。 他们每天访问超过 100 亿。 真的很可怕。 但有些人可能不相信。 分析Fomo3d的前端就可以知道了。 它每 5 秒刷新一次界面,并通过 infura 访问以太坊上的数据。 我们在实际部署DApps的时候,可以直接使用它们提供的服务。

当然,为了加快速度,你也可以自己部署在线以太坊节点。 作为钱包服务商,笔者打算在有空的时候,提供一套更完整的节点网关,脱离以太坊,覆盖所有主流公链。

以太扫描网

区块链的人不知道这个网站是可耻的。 它已经是我最常使用的网站了。 每次合约完成或者转账完成都会刷新,看是否已经上传到链上。 合约部署完成后,也会提交源代码。 此外,它还提供了许多其他丰富的功能。 如果你多用它,多研究,你一定能挖掘出很多有趣的东西。

区块链上的数据,一切都是公开透明的,数据的背后,隐藏着太多的秘密!

坚固性

以太坊合约的开发其实可以使用多种语言,但目前Solidity已经成为了事实上的标准。 大家都在用它来学习合约,在这方面积累了很多有用的实践经验,尤其是在安全方面。 因此,您可以专注于掌握这门语言。 他还有很多有趣的特点。

其他

笔者特意挑选了上面DApp开发过程中用到的。 除了第一次,你在学习DApp开发的过程中还会遇到一些其他的软件。 我先简单介绍一下,然后再说明为什么不用,或者紧急情况下可以用。

混音

刚加入合约开发的时候,看到很多地方都在讨论这个。 地址:

你可以直接访问这个网站,也可以在本地启动一个服务。 我推荐后者,更稳定,速度更快。

这东西看起来强大而富有。 貌似还能调试,但是调试的时候经常跳转,定位不到具体代码。 但是界面真的很难看。 编写代码并在上面做事会耗费你的眼睛。

合约部署后以太坊发币工具,在读写合约方面操作起来太不方便了。 如果你用过Parity的合约读写操作,你会享受酸酸的感觉,你不会再用remix了。

geth/薄雾

官方提供的钱包,但是除了转账,还要体验web3.0的那些接口。 在合同部署方面,它远非对等。 我也被它弄死过一次,找了两天终于找到原因,是里面有bug。 找人讲道理。

从上面也可以看出,我毫不吝啬对Parity的赞美。 用过的人都知道,下面将围绕一个具体的应用,对它在parity中的使用进行详细的介绍。 敬请关注!