二 以太坊去中心化应用开发教程是什么?以太坊去中心化应用开发教程解答!

如下的教程是以太坊平台上开发去中心化应用(Dapp)的简介 。该教程教授用户如何用Solidity语言–一种我们定制化的合约编程语言–编程合约 。下面小编给大家介绍一下,希望你能喜欢!

二 以太坊去中心化应用开发教程是什么?以太坊去中心化应用开发教程解答!

文章插图
译者注:对于英文水平不错的开发者,推荐阅读原文 。
教程如果你在研习教程过程中有任何问题,请留下评注或联系ken@ethdev.com 。
以太坊开发入门以太坊——一个去中心化的共识网络对多数开发者来说,在职业生涯中花时间学习使用一个新平台,一门新语言,或一种新框架是再平常不过的事情了 。更加新颖的事情是学习完全不同的范式 。去中心化的共识网络,区块链和其最知名的实例——“比特币”,这些新事物即使在技术社区内也没有被完全理解,对于这些新技术如何从本质上区别于我们现在使用的技术,大多数普通人现在还不能理解 。
基于这样的想法,在我们进行开发我们首个去中心化的app之前,我会对一些建造一个去中心化共识网络所必需的关键技术作出概述,也会介绍博弈论 。博弈论会利用这些技术以创建一个网络 。
核心技术公钥密码学公私钥密码系统是一类加密方法,它需要创建两个分开的秘钥;“私钥”只有所有者知道,公钥被(系统内)所有人知道 。它具有一些有用的属性,首先是任何人都可以用公钥加密数据,而且只有对应的私钥才能解密 。第二个属性,私钥的持有者利用私钥对一段信息进行签名,任何知道其公钥的人都可以对签名进行验证,不需要泄露任何与私钥相关的信息 。这一属性被用于数据通信网络的账号系统,构成了发送交易的基础 。
加密散列函数散列函数是这样一个函数:它将一段任意大小的信息作为输入,输出一段具有固定长度的数据 。例如,一个1MB或者500KB的文件经过散列函数计算后,将生成两个长度为128比特的“散列” 。加密散列函数不仅具有以上功能,还能满足三项重要要求:进行散列计算时,不需要泄露生成散列的输入信息(不可逆),输入的微小变化将导致输出散列的巨大变化;散列不可被计算,除非使用散列函数(没有捷径);两个不同输入生成相同散列的概率极低 。
点对点网络不同于客户端-服务器模型,点对点网络是多台相互直接联接的计算机组成的网络,不需要向任何服务器发送请求 。所有参与网络的计算机被认为是“节点”, 所有的节点具有平等的地位 。点对点网络通常依赖于无私心的节点,分享的资源至少与从网络中获取的资源一样多 。
加密经济学技术区块链一个区块链整体来说是一种为数据通信网络特别设计的数据库类型 。它可以保存任意数据,也能设定更新信息的规则,其首要特性是它可以在被称为“区块”的离散块内得到更新,这些“区块”通过前一区块内容的哈希散列“链接”在一起 。一个区块链不仅包含当前存储在数据库的信息,也包括每一次对数据库的历史记录变更 。通过状态和交易,区块链构造了一个不改变每个随后块就不进行完整更改历史的数据库 。一个私钥总是对“交易”或者改变数据库状态的请求进行签名,并且签名也存储在区块链中 。
工作量证明最早设想是作为一种垃圾邮件预防系统出现的,工作量证明是提供一种检验你“可能”已执行大量数学运算的简单方法 。在多数应用中,它使用一个加密散列函数实现;给出一片任意数据(如一个交易列表和一个块头部),你必须要找到第二个数据片,当其与第一个数据片合并时可生成一个具有特定字符的散列(例如一个以多个零结尾的散列) 。因为预测第二片数据生成的哈希是不可能的,所以你必须对所有可能的数据进行随机迭代,直到找到能够生成你所要求散列的数据 。

推荐阅读