面向 Python 开发者的以太坊介绍,第一部分
入门指南python区块链web3.py
初学者想必您已经听说过以太坊,那么,您准备好投身于这个领域了吗? 本篇文章将快速介绍一些区块链基础知识,然后让您与模拟的以太坊节点进行互动,比如读取区块数据、检查账户余额和发送交易。 在这个过程中,我们会着重强调用传统方式构建应用与这种新的去中心化范式之间的差异。
(软)前提条件
本文希望面向所有开发者。 在文章里会涉及 Python 工具,不过它们只是思想的载体,如果您不是 Python 开发者也没有问题。 不过,我将对您已经了解的知识作一些假设,以便我们能够迅速地进入以太坊部分。
本文假定:
- 您熟悉终端操作,
- 您写过一些 Python 代码,
- 您的机器上有安装 Python 3.6 或更高版本 (强烈推荐使用 虚拟环境(opens in a new tab) ),并且
- 您使用过
pip
,Python 的软件包安装程序。 再次强调,如果您不符合其中任何一条,或者您不打算敲本文中的代码,您照着学仍然可以学得很好。
区块链简述
描述以太坊有很多方法,但其核心还是区块链。 区块链由一系列区块组成,所以让我们从区块链开始。 用最简单的话来说,以太坊区块链上的每个区块只是一些元数据和一个交易的列表。 在 JSON 格式中,它看起来像这样:
1{2 "number": 1234567,3 "hash": "0xabc123...",4 "parentHash": "0xdef456...",5 ...,6 "transactions": [...]7}8复制
每个 块 会引用它前面的区块; parentHash
是前一个区块的哈希值。
注:以太坊广泛使用哈希函数(opens in a new tab)来生成固定大小的值(“哈希”)。 哈希值在以太坊中发挥着重要作用,但您现在可以放心地将其视为是唯一的 ID 值。