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
1703875946
区块链项目开发指南 2.1 以太坊概览
1703875947
1703875948
以太坊(Ethereum)是一个去中心化的平台,可以在其上部署DApp。DApp是用一个或者更多个智能合约创建的,使用Solidity编程语言编写智能合约。智能合约完全按照程序运行,而且防停机、防审查、防欺诈、防第三方干扰。在以太坊中,编写智能合约可以使用好几种编程语言,包括Solidity、LLL和Serpent,其中Solidity最受欢迎。以太坊有一种内部货币叫作以太币(Ether),部署智能合约或者调用其方法需要用到以太币。和任何其他DApp一样,智能合约可以有多个实例,且每个实例都有自己专门的地址。用户账户和智能合约都可以持有以太币。
1703875949
1703875950
以太坊使用区块链数据结构和工作量证明共识协议。智能合约可以通过发送交易调用或者通过其他合约调用。有两种网络中的节点:普通节点和矿工。普通节点只备份区块链上的数据,而矿工通过挖矿创建区块链。
1703875951
1703875952
1703875953
1703875954
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字符的字节串,就是账户地址。
[
上一页 ]
[ :1.703875919e+09 ]
[
下一页 ]