区块链分布式应用DAPP开发与学习初探

本文介绍了作者在区块链领域的研究兴趣,特别是以太坊DApp开发。强调了DApp的基础是智能合约,并推荐了Solidity作为以太坊智能合约的编程语言,提到了Remix IDE作为开发工具。还分享了学习DApp开发的资源,如Truffle和Hardhat框架,并提到在Windows和Linux环境下进行DApp开发的经验。最后,作者以宠物商店DApp为例,鼓励读者实践并开始自己的DApp开发之旅。
摘要由CSDN通过智能技术生成

本人目前在上海区块链工程技术研究中心做一些区块链方向研究,研究兴趣包括区块链数据隐私保护,智能合约安全漏洞检测等,欢迎csdn的同行专家不吝赐教,交流讨论,分享研究经验与成果。

 首先做一个简单的说明:已经好几个月没有更新专栏了,今天看到《区块链技术第3次学习总结--区块链共识机制综述》有一千多的阅读量,确实有一种小确幸的感觉。在这里我简单说一下为什么间隔这么长时间没有发新的博文。

1.csdn的审核机制,肯定是人工智能加人工的方式,在讨论区块链这个新兴前沿技术,有很多的名词术语都成了“敏感词”,会被屏蔽导致审核不通过,但是系统又不会具体报告哪些词语是敏感词,所以导致博文总是无法通过审核,让我感觉特别麻烦,所以写文章的积极性打了折扣。

2.现在写技术博文当然是完全免费公益的,写文章分享研究与学习心得,也不是为了什么回报。当然如果能把博文整理成书,是比较好的一种结果。其实现在写书的收益也不大,所以有的时候,写技术博客和写书,都是一种情怀,一种对自己的研究材料做整理和总结,希望获得读者的认可。

3.现在是短视频时代,一些技术博主也会选择在B站,tiktok等app发布自己的短视频来增加粉丝和流量,对于文字的阅读,特别是大段文字的阅读就相应的减少了,所以现在有耐心写博文和有耐心看博文的人都减少了,这也是文章更新频次低的一个原因。就像纸媒体的衰落一样,网文博客也受到短视频这种新媒体的冲击,希望csdn的所有师友能够支持我鼓励我写博文,写书;csdn鼓励原创,原创不易,请各位专家和技术大咖给予我指正。

 

对于区块链的开发,个人认为大量工作岗位会出现在dapp开发这个领域。下面我简单谈谈最近在学习的以太坊dapp开发。

DApp是Decentralized Application的缩写,即去中心化应用,也有人称为分布式应用。它被认为开启了区块链3.0时代。DApp就是在底层区块链平台衍生的各种分布式应用,是区块链世界中的服务提供形式。 DApp大小写是不敏感的,你很可能在其它的文献资料里看到DAPP或者dapp这样的写法,其实都一样,没有任何区别。

  学习DApp开发之前,必须具有区块链,智能合约和编程语言作为基础。简单一点讲,dapp=智能合约+UI, 也就是人机交互,前台是UI,后台是智能合约。不同的区块链平台可以选用不同的语言来编写智能合约,前台UI可以使用HTML5+CSS3+JS的技术路线,也就是一些web开发技术。如果你不是全栈工程师,你就无法独立开发一个dapp.

智能合约是区块链2.0和区块链1.0的显著区别。

有关智能合约的基本概念,请自行百度或知乎。

智能合约_百度百科

什么是智能合约? - 知乎

    学习dapp开发,推荐从以太坊(Home | ethereum.org)开始学习,以太坊上智能合约语言首选是Solidity.

有关Solidity的中文参考资料,推荐这个网站

Solidity 最新(0.8.0)中文文档 — Solidity中文文档 — 登链社区

Solidity开发环境,推荐remix,无需安装即可使用

Remix - Ethereum IDE

对于Remix如何使用,有问题可以联系我,虽谈不上精通,但自认为有能力带大家Remix Solidity入个门,资深一点的软件工程师一天能搞定Remix简单上手。

有了Solidity的基础以后,可以开始学习智能合约开发框架,这里推荐Truffle和Hardhat两个框架。我目前使用的是Truffle.

Truffle的主网站是Sweet Tools for Smart Contracts | Truffle Suite

Truffle中文参考资料Truffle 翻译说明及概述 | Truffle 中文文档 - DApp 开发框架 | 深入浅出区块链

我目前的学习主要看的是这份中文文档,网上一些dapp开发的书,不是最新的不推荐购买。最近搜了一下当当网,发现好多EOS dapp开发的书上市了,号称是区块链3.0DApp程序设计。个人观点是,学习了以太坊智能合约和dapp开发再去学其它区块链平台的dapp开发,经验肯定是有用的,也可以直接学习EOS DApp开发,这里存在潜在的技术风险是不知道学以太坊dapp还是EOS dapp哪个收益更大,我们在这里就不讨论了。

在Windows平台和Linux平台都可以做DApp开发。

我使用的平台是Windows10+VMWare Workstation 15 Player虚拟机,虚拟机里安装Ubuntu64位操作系统。

Windows环境下是需要安装Ganache.

Linux环境下应该是无需安装,下载下来的文件是可执行文件,如下图。

    注意:

   1.使用truffle unbox无法执行可能的错误是无法连接国外的服务器,比如github服务器连不上,这时候首先要保证你的机器能够连接上提供文件的境外服务器。

   2. 如果unbox成功了,下载到本地的文件也可能无法执行,比如你的index.html里如果引用了google服务器上的jquery.min.js文件,你的电脑如果连不上Google服务器,那么这个Web UI页面也是无法打开的。

  我试着运行宠物商店dappTruffle & Web3.js 教程:教你开发、部署第一个去中心化应用(Dapp) - 宠物商店 | 登链社区 | 深入浅出区块链技术实例后的一些界面截图

我这里的http端口不是3001,而是3000.教程上是3000 .

系统创建的十个账户中的第3个账户也导入MetaMask钱包了,可以进行领养宠物了。

 点击第一排第4只小狗的Adopt按钮后,确认领养成功了

学习以太坊DApp开发的师友们不妨也以宠物商店作为自己的第一个dapp学习实例。

千里之行始于足下,技术探索之路没有止境,新技术值得大家关注和研究,愿与诸君共勉。 

区块链智能合约是一种基于区块链技术的智能化合约,它通过编写智能合约代码,实现了自动化执行、验证和执行合约条件的功能。区块链智能合约具有去中心化、透明、安全等特点,可以用于各种领域的应用。 DApp(去中心化应用)是构建在区块链上的应用程序,与传统的中心化应用不同,DApp使用智能合约来管理和执行应用逻辑,数据存储在区块链上,确保信息的可靠性和安全性。 实战电子版指的是对区块链智能合约与DApp应用进行实际操作和开发的电子版本。通过实战电子版,用户可以学习如何编写智能合约代码,了解区块链技术的应用场景,以及如何开发DApp应用。 实战电子版可以提供一系列的案例和示例代码,提供操作指南和开发工具,帮助用户深入理解区块链智能合约与DApp应用的原理和使用方法。用户可以通过实践和模拟操作来学习,并将所学知识应用到实际的区块链项目中。 通过实战电子版,用户可以学习到智能合约的编写和部署、DApp应用的开发和测试、区块链节点的搭建和管理等相关知识。同时,实战电子版还可以提供实时更新和维护,以适应区块链技术的不断发展和更新。 总而言之,区块链智能合约与DApp应用实战电子版是一种通过实践和模拟操作来学习和探索区块链技术的电子学习资源,对于理解、应用和开发区块链相关项目具有重要意义。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值