| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 区块链 -> 区块链分布式应用DAPP开发与学习初探 -> 正文阅读 |
|
[区块链]区块链分布式应用DAPP开发与学习初探 |
本人目前在上海区块链工程技术研究中心做一些区块链方向研究,研究兴趣包括区块链数据隐私保护,智能合约安全漏洞检测等,欢迎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如何使用,有问题可以联系我,虽谈不上精通,但自认为有能力带大家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学习实例。 千里之行始于足下,技术探索之路没有止境,新技术值得大家关注和研究,愿与诸君共勉。? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 22:29:33- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |