主页 > imtoken官网版下载 > 5:连接到以太坊网络

5:连接到以太坊网络

imtoken官网版下载 2023-03-07 07:35:46

以太网络

由参与节点基于共识维护和保护的分布式点对点区块链网络。 见采矿。

以太坊网络统计

EthStats.net 是以太坊网络实时统计数据的仪表板。 仪表板显示重要信息,例如当前区块、哈希难度、gas 价格和 gas 支出。 网页上显示的节点只是网络上实际节点的选择。 任何人都可以将他们的节点添加到 EthStats 仪表板。 Github 上的 Eth-Netstats README 描述了如何连接。

EtherNodes.com 显示有关节点数量的当前和历史数据以及以太坊主网和现代测试网上的其他信息。

当前现网客户端实现分布情况:以太坊链实时统计。

公有链、私有链和联盟链

今天大多数以太坊项目都依赖以太坊作为公共区块链,可以访问更多的用户、网络节点、货币和市场。 然而,通常有理由在私有区块链或联盟区块链(在一组受信任的参与者中)之间进行选择。 例如,许多垂直行业(如银行业)的公司希望以太坊成为他们自己的私有区块链的平台。

以下是博客文章“公共和私有区块链”的摘录,其中解释了三种基于许可的区块链之间的区别:

以太坊搭建私链_erc20以太坊网络链项目官方_启动以太坊私有链

公共区块链:公共区块链是世界上任何人都可以阅读的区块链,世界上任何人都可以发送交易并希望在交易有效的情况下将其包括在内,并且世界上任何人都可以参与共识过程 - 该过程用于确定哪些块被添加到链中,以及当前状态。 作为中心化或准中心化信任的替代方案,公共区块链通过隐性经济学得到保护 - 经济激励和密码验证的结合使用机制,例如工作量证明或股权证明,遵循以下一般原则某人可以拥有什么 在共识过程中的影响程度与他们可以负担的经济资源量成正比。 这些区块链通常被认为是“完全去中心化”的。

联盟链:联盟链是一种共识过程由一组预先选定的节点控制的区块链; 例如erc20以太坊网络链项目官方,想象一个由 15 个金融机构组成的联盟,每个机构都运行一个节点,其中 10 个金融机构必须在每个区块上签名才能使区块有效。 读取区块链的权利可能是公开的,也可能仅限于参与者,也有混合路线,例如区块的根哈希通过 API 公开,允许公众成员进行有限次数的查询以检索区块链状态 Cryptographic某些部分的证明。 这些区块链可能被认为是“部分分散的”。

私有区块链:完全私有的区块链是一种写入权限集中在一个组织中的区块链。 读取权限可以在任意范围内公开或限制。 可能的应用包括单个公司内的数据库管理、审计等,因此在许多情况下可能不需要公共可读性,但在其他情况下,需要公共可审计性。

虽然这些私有/联盟区块链可能与公共区块链没有任何关系,但它们仍然通过投资以太坊软件开发为整个以太坊生态系统做出贡献。 随着时间的推移,这会转化为软件改进、共享知识和就业机会。

如何连接

Geth 一直尝试连接到网络上的其他节点,直到它有一个对等节点。 如果您在路由器上启用了 UPnP 或在面向互联网的服务器上运行以太网,它也将接受来自其他节点的连接。

Geth 通过一种称为发现协议的东西找到对等点。 在发现协议中,节点相互聊天以找出网络上的其他节点。 最初,geth 使用一组引导节点,其端点记录在源代码中。

检查连接和 ENODE ID

启动以太坊私有链_以太坊搭建私链_erc20以太坊网络链项目官方

要在交互式控制台中检查客户端连接到的对等点数量,net 模块有两个属性,它们为您提供有关对等点数量以及您是否是监听节点的信息。

erc20以太坊网络链项目官方_以太坊搭建私链_启动以太坊私有链

要获取有关连接的对等点的更多信息(例如 IP 地址和端口号、支持的协议),请使用管理对象的 peers() 函数。 admin.peers() 返回当前连接的对等点列表。

erc20以太坊网络链项目官方_以太坊搭建私链_启动以太坊私有链

要检查 geth 使用的端口并找到您的 enode URI:

erc20以太坊网络链项目官方_以太坊搭建私链_启动以太坊私有链

加快区块链的下载速度

当您启动以太坊客户端时,以太坊区块链会自动下载。 下载以太坊区块链所需的时间可能因客户端、客户端设置、连接速度和可用对等点数量而异。 以下是一些可以更快访问以太坊区块链的选项。

erc20以太坊网络链项目官方_启动以太坊私有链_以太坊搭建私链

使用geth

如果您使用的是 geth 客户端,您可以采取一些措施来加快下载以太坊区块链的时间。 如果您选择使用 --fast 标志执行以太坊快速同步,则不会保留过去的交易数据。

您不能在执行全部或部分正常同步操作后使用此标志,这意味着在使用此命令之前不应存在以太坊区块链的任何部分。 有关详细信息,请参阅此 Ethereum Stack.Exchange 答案。

如果你想更快地同步客户端,下面是一些可以使用的标志。

- 快速地:

此标志启用与状态下载的快速同步,而不是下载完整的块数据。 这也将大大减少区块链的大小。 注意:仅当您从头开始同步区块链并出于安全原因首次下载区块链时才能快速运行。 有关详细信息,请参阅此 Reddit 线程。

--缓存=1024

为内部缓存分配的内存兆字节(至少 16MB/数据库强制执行)。 默认值为 16MB,因此根据计算机的 RAM 大小应该有所不同,将此数字增加到 256、512、1024 (1GB) 或 2048 (2GB)。

以太坊搭建私链_erc20以太坊网络链项目官方_启动以太坊私有链

--jitvm

此标志启用 JIT VM。

控制台的完整示例命令:

erc20以太坊网络链项目官方_以太坊搭建私链_启动以太坊私有链

有关快速同步和区块链下载时间的更多讨论erc20以太坊网络链项目官方,请参阅此 Reddit 线程。

导出/导入区块链

如果您已经同步了一个完整的以太坊节点,您可以从完全同步的节点中导出区块链数据并将其导入到新节点中。 您可以通过 geth export filename 导出完整节点并使用 geth import filename 将区块链导入您的节点来执行 geth。有关详细信息,请参见此链接

静态节点、可信节点和启动节点

erc20以太坊网络链项目官方_以太坊搭建私链_启动以太坊私有链

Geth 支持一种称为静态节点的功能,如果您有某些始终想要连接的对等点。 静态节点在断开连接时重新连接。 您可以通过将类似这样的内容添加到 /static-nodes.json 来配置永久静态节点(这应该是您的 chaindata 和 keystore 文件夹所在的同一文件夹)

erc20以太坊网络链项目官方_以太坊搭建私链_启动以太坊私有链

您还可以使用 admin.addPeer() 通过 Javascript 控制台在运行时添加静态节点

erc20以太坊网络链项目官方_以太坊搭建私链_启动以太坊私有链

常见连接问题

有时您就是无法连接。 最常见的原因是:

*您的当地时间可能不正确。 参与以太坊网络需要一个准确的时钟。 检查您的操作系统如何重新同步您的时钟(例如 sudo ntpdate -s time.nist.gov),因为即使 12 秒太快也会导致 0 个对等点。

* 某些防火墙配置可能会阻止 UDP 流量。 您可以使用控制台上的静态节点功能或 admin.addPeer() 手动配置连接。

要在不发现协议的情况下启动 geth,可以使用 --nodiscover 参数。 这可以在运行测试节点或运行实验性测试网时完成。