浅谈DApp(去中心化应用)
—— 区块链技术的落地
章节
- Web时代的分级
- 区块链简史
- 什么是DApp(去中心化应用)
- 如何发布本身的DApp
Web时代的分级
- web1.0: 系统生成什么,用户使用什么(新浪,门户网站)
- web2.0: 用户能够主动获取并生产内容(google)
- web3.0: 用户参与的互联网,用户拥有本身数据的全部权(区块链)
WEB2.0的弊端
- 2015年5月27日,杭州光纤被挖断,支付宝大规模宕机
- 剑桥分析公司非法使用9000万名 Facebook 用户数据操纵选举
- 微信QQ只有使用权,没有全部权
- ……
中心化
区块链简史
- 2008年10月31日: 中本聪发布比特币白皮书
- 2013年底: V神(Vatalik Buterin)发布以太坊白皮书
区块链时代的分级
- 区块链1.0: 只支持转帐,财务交易(比特币)
- 区块链2.0: 可以在转帐基础上支持必定复杂度的业务逻辑定制——智能合约(以太坊)
- 区块链3.0: 各类高性能底层公链,速度快,支持逻辑复杂(柚子)
区块链核心概念
- 帐户(Account) 由地址、公钥、私钥3部分构成,其中地址至关于用户名,而公钥+私钥至关于密码
- 交易(Transaction) 两个帐户之间的转帐交易、或者智能合约调用请求
- 区块(Block) 区块链中的每一个区块均可能包含多笔交易,类比帐本中的一页
- 区块链(Blockchain) 区块链中不一样区块按被矿工打包的时间前后组织而造成的长链
区块链的驱动力——交易(Transaction)
平常生活中,“交易”本质上是指资产全部权的转移。 区块链中,通过签名运算,表达价值转移的过程。html
交易(Transaction)关键属性
- TxHash: 交易流水号
- Block Height: 此交易发生后的打包状况
- From/To/Value: 说明交易的发起帐户、接收帐户,以及转帐金额(智能合约调用时包含执行函数)
- Gas Limit 表示在交易执行时最多消耗的汽油数量
- Gas Used 表示实际使用了多少汽油
- Gas Price 表示汽油的价格是 0.0000000039 Ether,或者 3.9 Gwei
- Actual Tx Cost 表示实际的转帐手续费是 0.0000819 Ether
什么是DApp——去中心化应用
- 应用的数据,分布式存储在 区块链 的全部节点中
- 得益于 区块链 的特性,应用的数据公开透明、不可篡改
- 应用的逻辑采用智能合约实现,并部署到 区块链 上
什么是以太坊?
以太坊网络本质是 P2P 网络系统,其用途是发起交易、存储交易历史,这里的交易能够是转帐或者是调用智能合约中的方法,而以太坊区块链则是存储了以太坊网络上发生过的每笔交易的数据库前端
如何同以太坊交互——智能合约
智能合约指以太坊网络上被代码控制的一个帐户,不一样于咱们使用各类钱包软件 建立的帐户(由建立帐户的用户来控制),智能合约对应的帐户是由代码控制的,其余帐户(包括智能合约帐户、普通用户帐户)能够经过交易(Transaction)的方式与智能合约帐户交互,社区中也会把智能合约帐户称为内部帐户,而普通用户帐户称为外部帐户...git
智能合约关键属性
- balance,即该智能合约帐户所控制的资产余额,好比某个抽奖智能合约中奖池的资金
- storage,智能合约的相关数据会存储在这里,可粗暴的将其看作是DApp的数据库,好比抽奖智能合约里面存储参与人的地址
- code,智能合约的字节码,由智能合约源代码编译而来,存储在区块链上方便任何节点接受智能合约的函数调用
智能合约编程语言 Solidity
- Solidity is a contract-oriented, high-level language for implementing smart contracts. It was influenced by C++, Python and JavaScript and is designed to target the Ethereum Virtual Machine (EVM)....
- Solidity 是面向合约的高级智能合约编程语言,其设计受到了 C++、Python、Javascript 语言的影响,运行环境是以太坊虚拟机(EVM)
使用Solidity进行智能合约开发
- 最容易上手——Remix 集成开发环境
- FE最熟悉——更符合前端开发的工做流
Remix 集成开发环境简介
remix.ethereum.orggithub
前端工做流简介
github.com/wangshijun/…web
DApp只能依赖区块链吗?
相关连接:
- 区块链开发入门:从 0 到 1 构建基于以太坊智能合约的 ICO DApp
- 区块链vs.DAG, 区别究竟是什么?
- 理解Web 3——用户控制的互联网
- Remix - Solidity IDE
- Faucet - 以太坊测试帐号充值18 ETH
- Solidity 官网
- metamask - google区块链钱包插件
- 以太坊开发测试网络列表
Maple