打字猴:1.70387592e+09
1703875920 区块链项目开发指南 第2章 以太坊的工作原理
1703875921
1703875922 在前一章中,我们了解了DApp的概念,还了解了一些热门DApp,其中之一便是以太坊。目前,以太坊是继比特币之后最受欢迎的DApp。在本章中,我们将深入学习以太坊的工作原理及其用途,还将看到重要的以太坊客户端和节点实现。
1703875923
1703875924 在本章中,我们将讲解以下内容:
1703875925
1703875926 ·以太坊用户账户。
1703875927
1703875928 ·智能合约及其工作原理。
1703875929
1703875930 ·以太坊虚拟机(EVM)。
1703875931
1703875932 ·在工作量证明共识协议中挖矿如何进行。
1703875933
1703875934 ·学习如何使用geth命令。
1703875935
1703875936 ·建立以太坊钱包和浏览器钱包(Mist)。
1703875937
1703875938 ·Whisper和Swarm概览。
1703875939
1703875940 ·以太坊的未来。
1703875941
1703875942
1703875943
1703875944
1703875945 区块链项目开发指南 [:1703875268]
1703875946 区块链项目开发指南 2.1 以太坊概览
1703875947
1703875948 以太坊(Ethereum)是一个去中心化的平台,可以在其上部署DApp。DApp是用一个或者更多个智能合约创建的,使用Solidity编程语言编写智能合约。智能合约完全按照程序运行,而且防停机、防审查、防欺诈、防第三方干扰。在以太坊中,编写智能合约可以使用好几种编程语言,包括Solidity、LLL和Serpent,其中Solidity最受欢迎。以太坊有一种内部货币叫作以太币(Ether),部署智能合约或者调用其方法需要用到以太币。和任何其他DApp一样,智能合约可以有多个实例,且每个实例都有自己专门的地址。用户账户和智能合约都可以持有以太币。
1703875949
1703875950 以太坊使用区块链数据结构和工作量证明共识协议。智能合约可以通过发送交易调用或者通过其他合约调用。有两种网络中的节点:普通节点和矿工。普通节点只备份区块链上的数据,而矿工通过挖矿创建区块链。
1703875951
1703875952
1703875953
1703875954
1703875955 区块链项目开发指南 [:1703875269]
1703875956 区块链项目开发指南 2.2 以太坊账户
1703875957
1703875958 要创建以太坊账户,只需要一个非对称加密密钥对——由不同的算法(例如RSA、ECC等)生成。以太坊使用椭圆曲线加密算法(ECC),ECC有多个参数用来调节速度和安全性,以太坊使用secp256k1参数。深入学习ECC及其参数需要一定的数学知识,而使用以太坊创建DApp不需要深入理解ECC及其参数。
1703875959
1703875960 以太坊使用256位加密。以太坊私钥/公钥是一个256位数。因为处理器不能表示这么大的数,所以它被编译成长度为64的十六进制字符串。
1703875961
1703875962 每个账户用一个地址表示。有了密钥之后,就需要生成地址。从公钥生成地址的过程如下:
1703875963
1703875964 1)生成公钥的keccak-256哈希。它将给出一个256位的数字。
1703875965
1703875966 2)丢弃前面的96位,即12字节。现在得到160位二进制数据,即20字节。
1703875967
1703875968 3)把地址编译成十六进制的字符串。最后将得到一个40字符的字节串,就是账户地址。
1703875969
[ 上一页 ]  [ :1.70387592e+09 ]  [ 下一页 ]