去中心化应用

去中心化应用是可以使用户和供应商之间直接互动的服务(例如,连接某些市场上的买方和卖方,文件存储里的持有者和储存者)。以太坊去中心化应用典型地通过HTML/Javascript网络应用与用户互动,使用Javascript API与区块链通信。去中心化应用典型地在区块链上有自己的相关合约套件,用来编码商业逻辑,允许持久存储对共识要求严格的状态。记住由于以太坊网络上的运算天生冗余,执行的gas成本会比离链的私人执行成本更高。这就激励着去中心化应用开发者限制执行的代码数量和储存在区块链上的代码数量。

去中心化应用目录

使用以太坊的去中心化应用被编译到以下列表,在开发的不同阶段列出(概念,工作原型,实时/部署的)。如果你在开发去中心化应用, 考虑向这些列表添加入口:

  • Ðapps 的Ethercasts状态
  • Dappslist
  • Dappcentral – 去中心化应用的分类页面,带说明,代码验证和网络数据。
  • Dapps邮件列表 – 以太坊上的开发者邮件列表(停止使用)。

列表中提供的去中心化服务覆盖大范围的领域,包括金融,保险,预测市场,社交网络,运算和存储分配,赌博,市场,物联网,管理,合作,开发和游戏。

  • 我们最终会预期什么应用? https://www.reddit.com/r/ethereum/comments/2mnl7f/the_top_10_ether_dapps_of_201

将来,去中心化应用可能会在去中心化应用浏览器里集成的dappstores中列出和分配。

去中心化应用浏览器

  • Mist – 由基金会开发的官方GUI去中心化应用浏览器,开发阶段。 Mist as Wallet dapp在试用中。
  • Syng – Jarrad Hope开发的移动以太坊浏览器(开发阶段) – 由DEVgrants支持
  • MetaMask – Aaron Kumavis Davis的浏览器内GUI。Github上的Epicenter Bitcoin访谈 – 由DEVgrants支持
  • AlethZero – C++ eth客户端GUI(停止使用)。
  • Supernova – (停止使用)。

开发者工具

去中心化应用开发需要理解Web3 Javascript API, the JSON RPC API和Solidity编程语言。

注意:有开发者工具帮助你开发、测试和部署去中心化应用,自动使用以下列出的资源。

  • Web3 JavaScript API – 想要和以太坊节点交互的时候,主要用到的JavaScript SDK。
  • JSON RPC API – 与节点交互的低级JSON RPC 2.0界面。这个API被Web3 JavaScript API使用。
  • Solidity Docs – Solidity是以太坊开发的智能合约语言,编译到以太坊虚拟机操作码。
  • 测试网络 – 测试网络帮助开发者开发和测试以太坊代码及网络互动,不需花费主网络上自己的以太币。测试网络选项在下面列出。
  • 去中心化应用开发资源。这会帮助你开发,排错和部署以太坊应用。

去中心化应用开发资源

  • 智能合约 ELI5 •https://blog.slock.it/a-primer-to-the-decentralized-autonomous-organization-dao-69fb125bd3cd
  • 向101小白介绍编程智能合约
  • 标准化合约API列表

示例

  • pricefeed使用实例 – web3脚本打印所有的账户余额
  • 以太坊合约实例

    https://dappsforbeginners.wordpress.com/tutorials/your-first-dapp/ https://github.com/ethereum/wiki/wiki/Dapp-Developer-Resources

教程

  • ethereum.org上的去中心化应用教程
  • 去中心化应用初学者教程系列
  • Eris的Solidity教程系列
  • 高级Solidity教程
  • http://ethereumj.io/blog/2015/09/09/friendly-ether-bot/
  • https://github.com/ConsenSys/ether-pudding

Mix-IDE

Mix是官方以太坊IDE,它允许开发者在以太坊区块链创建和部署合约及去中心化应用。它包含一个Solidity源代码排错器。Mix

IDEs/Frameworks

下面是用于写以太坊去中心化应用的开发者框架和IDE。

  • Truffle – Truffle是以太坊的开发环境,测试框架和资产管道。
  • Dapple – Dapple是Solidity开发者工具以帮助建立和管理以太坊类似的区块链上复杂的合约体系。
  • Populus – Populus是用Python语言写的智能合约开发框架。
  • Eris-PM – Eris Package Manager部署并测试私有和公共链上的智能合约体系。
  • Embark – Embark是用JavaScript写的去中心化应用开发框架。
  • EtherScripter (已淘汰,停用)
  • 韧性原始交易广播

以太坊控制台

以太坊节点的命令行控制台。

以太坊控制台通过IPC连接到在背景运行的以太坊节点(用eth和geth测试)并提供一个交互的javascript控制台,包括web3对象和管理员附件。

这里可以找到可用管理列表 以太坊节点控制指令

要使用这个控制台,你需要启动一个本地以太坊节点和可用的ipc沟通插口(数据目录中的geth.ipc文件)。开启一个节点后,ipc插口默认位于你的以太坊本地主目录。你也可以设置—test选项来使用特定节点测试指令。

然后你可以在控制台输入

这是—test模式节点指令的释义:

关于节点配置文件的更多信息。

底层服务

Whisper

  • 什么是Whisper,用途是什么 – stackexchange问答
  • Gavin Wood: 嘘!Whisper – youtube上的DEVCON-1演讲视频
  • Whisper概览和dream API用途 –
  • ELI5

Swarm

Swarm是分布式存储平台以及内容分发服务,以太坊web 3堆栈自带的基层服务。Swarm的首要目标是提供足够去中心化和冗余的以太坊公共记录储存,尤其是储存和分配去中心化应用代码和数据,以及区块链数据。从经济观点看,它允许参与者有效集中储存和带宽资源,用以为所有参与者提供之前提到的服务。

从终端用户的观点看,Swarm和WWW并没有很大不同,除了上载并不是针对一个特定的服务商。目标是点对点存储,并提供抗DDOS、零故障、容错、抗审查的解决方案以及自我维护,这归功于一个使用点对点记账体系并允许以付款交换资源的内置激励体系。Swarm被设计为与以太坊devp2p多协议网络层次,为了域名解决方案的以太坊区块链,服务支付和内容可用性保险结合。

swarm 上的ÐΞVcon演讲

  • Viktor Trón, Daniel A. Nagy:Swarm – YouTube上的以太坊 ÐΞVcon-1演讲
  • Daniel A. Nagy:保持公共记录安全可用 – YouTube上的以太坊ÐΞVcon-0演讲

Code and status

  • 资源
  • github上的发布
  • 开发路径图
  • twitter上的ethersphere
  • swarm gitter room
  • swarm subreddit

在线和离线存储

  • https://www.reddit.com/r/ethereum/comments/3hkv2f/eli5_storage_in_the_ethereum_blockchain/
  • https://www.reddit.com/r/ethereum/comments/3npsoz/ethereum_ipfs_and_filecoin/
  • 什么是swarm,用途是什么? – stackexchange问答

以太坊定时器

  • 作者: Piper Merriam
  • 网站: alarm_main_website。
  • 文档: alarm_documentation。

促使安排交易稍后发生的市场。提供unix中crontab或javascript 中的setTimeout类似的角色。 •以太坊提案中的去中心化cron服务 – 作者Peter Szilagyi

Ethereum Computation Market

  • 作者: Piper Merriam
  • 网站: computation_market_main_website。
  • 文档: computation_market_main_website。

促使离线运算可验证执行的市场。允许每个昂贵的运算在以太坊虚拟机内使用,不必实际支付在链上执行它们的高额gas成本。

BTCRelay

BTCrelay

  • 更多信息 (关于ETH/BTC双向peg,不需修正比特币代码)。
  • BTCrelay 审查

RANDAO

随机数: https://www.reddit.com/r/ethereum/comments/49yld7/eli5_how_does_a_service_like_szabodice_grab_a/

The EVM

以太坊虚拟机(EVM)是以太坊智能合约的执行环境。它不仅被沙箱化,而且实际上是完全隔离的,这意味着以太坊虚拟机内部运行的代码不可以访问网络,文件系统或其他进程。智能合约甚至对其他智能合约的访问权限都是有限的。

合约存在于区块链上,区块链是以太坊特定的二进制格式(以太坊虚拟机字节代码)。然而,合约典型地是用以太坊高级语言写成,用以太坊编译器编译成字节代码,最终用以太坊客户端上传到区块链。

参考资料:

文章中的列表对应的链接可以参考《Ethereum Homestead Documentation》第94页1.7.5 Dapps

Dapp及相关开发工具介绍相关推荐

  1. android studio开发工具介绍,Android应用开发之Android开发工具介绍、Android Studio配置...

    本文将带你了解Android应用开发之Android开发工具介绍.Android Studio配置,希望本文对大家学Android有所帮助. 2.1   Android Studio配置 2.1.1 ...

  2. MacBook Linux Windows C和C++开发工具介绍

    MacBook Linux Windows C和C++开发工具介绍 本人主要从事Java开发,所以IDEA用的比较多, Golang也开发了几年,使用的是Goland或IDEA工具, 最近在学习C++ ...

  3. 第一节:开发工具介绍及环境变量配置(讲师笔记篇)

    01.01_计算机基础知识(计算机概述)(了解) A:什么是计算机?计算机在生活中的应用举例 计算机(Computer)全称:电子计算机,俗称电脑.是一种能够按照程序运行,自动.高速处理海量数据的现代 ...

  4. eclipse及IDE开发工具介绍

    eclipse的使用技巧 02_eclipse及IDE开发工具介绍 下列词语的简写: java ee -->Java Platform,Enterprise Edition Java EE(Ja ...

  5. Java新手看招 常用开发工具介绍

    Java新手看招 常用开发工具介绍 Java的应用越来越广泛,学习Java的人也越来越多.学过程序设计的人知道,使用Basic进行程序设计,可以使用QBasic.Visual Basic等开发工具:使 ...

  6. java基础-Eclipse开发工具介绍

    java基础-Eclipse开发工具介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 所谓工欲善其事必先利其器,即将身为一名Java开发工程师怎么能没有一款好使的IDE呢?今天就 ...

  7. 前端面试题(重点整理):谈谈你对web标准和W3c的认识、什么是ECMA、什么是html、浏览器和开发工具介绍

    目录 一.对web标准和W3C的认识 1.1 web标准 1.2 W3C的认识 二.什么是ECMA 三.什么是html 四.浏览器和开发工具介绍 4.1 浏览器介绍 4.2 开发工具介绍 一.对web ...

  8. Java网络 1.3 开发工具介绍

    开发工具介绍 概述 开发工具 总结 概述 任何纯本文编辑器都能够编辑 html, 比如记事本, editplus, notepad++. 下面我们来看一些比较有名的专门制作网页的工具. 开发工具 Dr ...

  9. 人工智能点点通-AI开发工具介绍-钱兴会-专题视频课程

    人工智能点点通-AI开发工具介绍-732人已学习 课程介绍         本课程主要介绍人工智能的开发工具,为大家进行人工智能学习打下基础 课程收益     了解常见的人工智能工具及框架 讲师介绍 ...

最新文章

  1. 4岁学编程,19岁创办以太坊,4年十亿身家!
  2. CSS三个非常重要的特性分享!
  3. 【校招面试 之 C/C++】第12题 C++ 重载、重写和重定义
  4. 浅析laravel门面原理与实现
  5. 奇怪,勒索软件Ryuk 新版本把这些 *UNIX 文件夹列入了黑名单
  6. 先进科技计算机视觉,CEEC科技Corner第四期开讲:《3D计算机视觉技术发展与应用》...
  7. 考研高等数学张宇30讲笔记——第十讲 积分等式与积分不等式
  8. 物联网定位技术超全解析
  9. blob 在线解码_一款支持在线的磁力播放工具
  10. 浅谈Java中的常量池
  11. kubernetes日志架构
  12. 几个提高睡眠质量的方法。
  13. 点云IO篇之stl文件读写
  14. elementui级联选择器Cascader不触发change事件
  15. Android开机自启自动轮播图片或自动轮播视频APP
  16. 自由幻想系统不能提供服务器,系统指南-自由幻想召集令-QQ自由幻想官方网站...
  17. 自动加权GCN算法实现反洗钱识别-有数据有代码
  18. PyCharm母公司JetBrains出品,一款类似ggplot2的python可视化工具!!
  19. (二十四)优秀员工 - 3
  20. 利用计算机的审计优点,计算机辅助审计的优势表现在哪些方面

热门文章

  1. 1月外贸新规,请注意查收
  2. 点赞狂魔 (25 分) C语言
  3. 【颜色空间】RGB、HSV、Lab、YUV颜色空间模型
  4. html 透明的圆形,从div中切出的透明半圆
  5. win10引导安卓x86_如何双重启动Windows10与Android双系统
  6. C#下怎样处理并保存单色格式PNG图片?
  7. Handler 详解
  8. 解决java项目时乱码问题
  9. Color Efex Pro 4 滤镜库速览
  10. 天猫双十一成交额是如何预测的