python以太坊开发中节点和网络选择

python以太坊应用开发节点和网络选择 以太坊节点 为什么我需要连接到一个节点? 以太坊协议定义了一种方法,用于人们通过网络与智能合约相互作用。为了获得关于合约、账户余额和新交易状态等最新的信息,协议需要与网络上的节点进行连接。这些节点不断地共享最新的数据。 Web3.Py是用于连接这些节点的Python库。它不在内部运行它自己的节点。 如何选择使用哪个节点? 由于以太坊的特点,这在很大程度上由... 阅读详情

以太坊节点

为什么我需要连接到一个节点?

以太坊协议定义了一种方法,用于人们通过网络与智能合约相互作用。为了获得关于合约、账户余额和新交易状态等最新的信息,协议需要与网络上的节点进行连接。这些节点不断地共享最新的数据。

Web3.Py是用于连接这些节点的Python库。它不在内部运行它自己的节点。

如何选择使用哪个节点?

由于以太坊的特点,这在很大程度上由个人的偏好来决定,但它会对安全性和可用性有重大影响。此外,节点软件正在快速发展,所以请需要对当前可选项进行研究。我们不推荐任何特定的节点,但列出一些流行的选项和一些基本细节。

最关键的决定之一是使用本地节点还是托管节点。来看看本地VS托管节点的简单含义:

  • 本地节点:本地节点由你自己启动并控制。它的安全和你的环境安全性一样,在于你自身。当你在机器上运行geth或parity时,你就是在运行本地节点。
  • 托管节点:托管节点由其他人控制。当连接到Infura时,连接到托管节点。

本地节点比托管节点有更好的安全性。恶意托管节点可以给你提供不正确的信息,用IP地址记录你发送的交易,或者只是脱机运行。不正确的信息会引起各种各样的问题,甚至包括资产流失。

另一方面,在本地节点上,你的机器正在逐个验证网络上的所有交易,并提供最新状态。不幸的是,这意味着使用大量的磁盘空间,有时显著的带宽和计算。另外,下载完整的区块链历史记录有很大的前期成本。

如果希望让节点管理密钥(流行的选项),则必须使用本地节点。注意,即使在自己的机器上运行一个节点,你仍然要信任节点软件,并在该节点上创建的任何帐户。

最流行的自运行节点选项是:

你可以在ethdocs.org中找到一个更完整的节点软件列表。

有些人认为,从零开始同步本地节点所需的时间太久,尤其是如果它们只是刚开始学习以太坊的话。解决这个问题的一种方法就是使用托管节点。

最流行的托管节点选项是Infura。你可以连接它,就像它是一个本地节点,有几个注意事项。它不能(也不应该)为你提供私钥,这意味着一些常见的方法,如w3.eth.sendTransaction()不可直接使用。要向托管节点发送交易,请阅读有关本地私钥的工作。

一旦决定要选择什么节点选项,就需要选择连接哪个网络。通常,你在公有链和测试链之间进行选择。

我可以用MetaMask作为节点吗?

MetaMask不是一个节点。它是一个与节点交互的接口。大致上,如果你把Web3.Py变成浏览器扩展,MetaMask就和web3.py是差不多的。

默认情况下,MetaMask连接到一个Infura节点。也还可以设置MetaMask使用本地运行的节点。

如果你试图使用已在MetaMask中创建的帐户,请参阅如何使用Web3.Py中的MetaMask帐户?

我应该连接哪个网络?

一旦你回答了我该如何选择使用哪一个节点?你必须选择连接哪个网络。对于某些场景来说,这是很容易的:如果你有以太ether,你想消费它,或者你想与任何生产网络上的智能合约交互,那么你连接到以太坊公有链网络上。

如果你想测试这些东西而不使用真正的以太ether,那么你需要连接到测试链。有几个测试链可供选择。一个测试网络Ropsten,它是最类似于生产网络的。然而,当你想测试一个智能合约的时候,已经有垃圾邮件和攻击发生,这是有破坏性的。

有一些替代网络限制了垃圾邮件和攻击的破坏,但是它们对节点软件没有完全标准化。geth运行自己的(Rinkeby),Parity运行自己(Kovan)。在这个Stackexchange Q&A.中看到一个完整的比较。

所以我们简略的讲,选择这样的方式:

  • 如果使用Parity,连接到Kovan
  • 如果使用Geth,连接到Rinkeby
  • 如果使用不同的节点,或测试挖掘,连接到Ropsten

他们的每一个网络都有自己版本的ether。生产网络即公有链以太ether必须购买,自然,测试链上的以太ether通常是免费的。看看测试网是如何获得以太?

一旦确定了连接哪个网络,并为该网络设置节点,就需要决定如何连接它。在大多数节点中有一些选项。请参见选择如何连接到节点。

分享我们的python以太坊教程,主要是针对python工程师使用web3.py进行区块链以太坊开发的详解。

其他可以学习的以太坊教程:

  • web3j教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
  • 以太坊教程,主要介绍智能合约与dapp应用开发,适合入门。
  • 以太坊开发,主要是介绍使用node.js、mongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
  • php以太坊,主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和事件等内容。
  • C#以太坊,主要讲解如何使用C#开发基于.Net的以太坊应用,包括账户管理、状态与交易、智能合约开发与交互、过滤器和事件等。

这里是原文

python开发以太坊应用(使用web3) 目录 第一章,初识以太坊 第二章,以太坊之简易开发流程 第三章,以太坊之账户管理 第四章,以太坊之状态与交易 第五章,以太坊之智能合约 第六章,以太坊之过滤器 正文 ** 第一章,初识以太坊 ** 第一章 属于概述性的内容,暂时不写。以后补充上来。 ** 第二章,以太坊之简易开发流程 ** 在这一章,我们将完成一个简单的控制台应用,学习如何在命令行和在python中访问以太坊节点,并打... 阅读详情

相关推荐

最好用的python以太坊开发框架Populus

欢迎学习Populus框架!Populus几乎拥有以太坊区块链开发所需的一切。 Populus有以下系统依赖关系: solidity编译器:智能合约是以solidity语言编写的,然后编译到以太坊虚拟机(EVM)的二进制代码中。 Geth:官方go语言的以太坊协议的实现。Geth客户端运行区块链节点,让我们与区块链进行交互,并可以在开发过程中运行并部署到测试区块链。 此外,杨树需要一些其...

mongo_node的专栏 1479

如何使用python进行eth批量转账,薅羊毛必备!

Web3.py是连接以太坊的python库,它常见于去中心化应用程序 (dapps) 中,用于帮助发送交易、与智能合约交互、读取块数据以及各种其他用例。它的API从web3.js中派生而来,如果你用过web3.js,你会对它的API很熟悉。一、初始化你的 Web3 实例,连接到对应的链RPC,比如eth,bsc,heco,okex等等。rpc节点大全二、以太坊转账等上链操作,对于以太坊来说都是一笔交易,发送交易关键参数如下。(1)、nonce– 这是账号的一个交易计数。(2)、to– 目标账户。

xiangxueerfei的博客 2517

以太坊Python智能合约开发指南

在以太坊上获得一个基本的智能合约是一个很简单的事,只需google查询“ERC20代币教程”,你会发现有关如何做到这一点的大量信息。以编程方式与合约交互完全是另一回事,如果你是一个Python程序员,那么教程就很少。所以写这个Python中的以太坊智能合约开发指南。 按我的统计对我们来说幸运的是,2017年Web3.py的第4版发布,这意味着现在比以往更容易运行python脚本并观察区块链上发生的...

mongo_node的专栏 3328

从Python角度了解以太坊

区块链基础以太坊(Ethereum)的底层是区块链技术,而区块链简单而言就是由Hash值串联起来的链表结构,链表中的节点会记录交易信息,如果将节点中的信息以JSON格式描述,看起来是这个样...

weixin_30230009的博客 1201

linux下安装以太坊(ETH/ETC)节点

linux下安装以太坊(ETH/ETC)节点 使用以太坊进行转账等操作可以自己安装节点目前大约300G左右硬盘即可,可以离线签名交易,不依赖中心化交易所或者去中心化钱包,保证自己以太坊的安全,免去了使用冷钱包的复杂操作,此章介绍如何在ubuntu16.04上安装parity节点,以及使用geth console来和链交互,离线交易使用python,将在后面介绍: parity的安装 linu...

adriel_liu的博客 8002

使用Python查询以太坊数据的后端

总结一下,通过使用Python和Web3.py库,我们可以方便地连接到以太坊网络,并查询各种以太坊数据。Web3.py是一个用于与以太坊交互的Python库,它提供了一组丰富的功能和API,用于连接到以太坊网络、查询区块链数据、执行交易等操作。然后,我们检查连接状态,如果成功连接到以太坊网络,则打印"已连接到以太坊网络",否则打印"无法连接到以太坊网络"。除了查询最新的区块高度,Web3.py还提供了许多其他功能和API,用于查询以太坊网络上的各种数据。首先,我们需要安装Web3.py库。

UgmbRuby的博客 286

金融科技:使用Python搭建以太坊智能合约应用(一)

区块链金融:使用Python搭建以太坊智能合约应用(一)自2019年10月,越来越多的行业开始探索区块链项目的应用。其中除了IT行业外,便属金融业最为敏感,许多金融机构都在研究区块链。 本蒟蒻目前在北京一家金融机构的金融科技部门实习,接触到区块链技术,这篇文章整理了本人在学习关于利用Python开发以太坊智能合约的一些简单内容,供自己以后回顾和与大家分享。

蔡金航的博客 6505

python怎么连接以太坊,python实现数据上传以太坊

在以太坊上直接上传数据并不是直接的操作,因为以太坊区块链本身并不直接支持文件存储。确保你的代码能够妥善处理各种错误情况,并遵循最佳的安全实践,如不要将私钥硬编码在代码中。你可以使用IPFS来存储数据,并在以太坊上存储IPFS文件的哈希值。这样,你就可以通过以太坊的智能合约来验证和访问IPFS上的数据。如果你的数据很小(例如,一个哈希值、一个标识符或一些元数据),你可以将其直接编码为。要发送以太币或执行智能合约的函数,你需要一个以太坊钱包,并使用。,你可以将数据存储在这些网络上,并在以太坊上存储相应的引用。

ZhangJiqun&191cm&85kg 576

探索以太坊世界的利器:etherscan-python

探索以太坊世界的利器:etherscan-python 去发现同类优质开源项目:https://gitcode.com/ 在区块链的世界里,数据是至关重要的。而以太坊(Ethereum)作为全球最大的去中心化应用平台之一,其生态系统中的信息繁多且复杂。为了更便捷地访问和利用这些数据,我们为你推荐一个强大的工具——etherscan-python,这是一个专为Python开发者打造的以太坊区块浏览器...

gitblog_00020的博客 518

Windows下使用python-web3.py进行以太坊Dapp开发笔记–第1篇

1.环境准备 使用的环境包括: geth python3.7 web3.py solc geth的安装及简单实用 安装 地址:https://geth.ethereum.org/downloads/ 找到对应的操作系统安装最新的版本就好(一般这里如果安装最新的,下面的web3.py也需要最新版,不然可能会出现各种错误!!!) 我的版本是: 使用(这里仅介绍创建私链及geth命令行的简单使用) A.创建私链 a.创建一个文件夹btc,用以存放以太坊私链数据: b.创建json文件genesis.json,将文件内容改为下面所示并保存: { config:{ chainId:9, ho

深度学习笔记(1)机器学习与深度学习基础

一些深度学习的简单概念和Transformer的学习。

hanliu2003的博客 1492

python 节点_python在以太坊开发中节点和网络如何选择?

以太坊节点为什么我需要连接到一个节点?以太坊协议定义了一种方法,用于人们通过网络与智能合约相互作用。为了获得关于合约、账户余额和新交易状态等最新的信息,协议需要与网络上的节点进行连接。这些节点不断地共享最新的数据。Web3.Py是用于连接这些节点的Python库。它不在内部运行它自己的节点。如何选择使用哪个节点?由于以太坊的特点,这在很大程度上由个人的偏好来决定,但它会对安全性和可用性有重大影响。...

weixin_39986973的博客 210

oscp备考,oscp系列——Djinn3靶场:ssti漏洞,pkexec提权

oscp备考,oscp系列——Djinn3靶场:ssti漏洞,pkexec提权难度简单偏上对于低权限shell获取涉及:ssti漏洞对于提权:pkexec提权。

2202_75361164的博客 633

python必须连网开发吗_Python以太坊开发节点和网络选择

为什么我需要连接到一个节点?以太坊协议定义了一种方法,用于人们通过网络与智能合约相互作用。为了获得关于合约、账户余额和新交易状态等最新的信息,协议需要与网络上的节点进行连接。这些节点不断地共享最新的数据。Web3.Py是用于连接这些节点的Python库。它不在内部运行它自己的节点。如何选择使用哪个节点?由于以太坊的特点,这在很大程度上由个人的偏好来决定,但它会对安全性和可用性有重大影响。此外,节点...

weixin_39708708的博客 120

RKDevTool解包和打包(Windows)

我们将修改后的打包工具存放在了RKDevTool_Release_v2.92软件压缩包的rockdev目录下,可以搭配RKDevTool的解包功能使用。双击板卡主芯片对应的bat文件,开始进行打包。红框中的内容是我们的打包工具及辅助打包的可执行文件,Image目录下存放了我们的分区镜像, package-file是分区与分区镜像文件的对应关系。将从网盘获取的Update.zip镜像解压成.img格式并重命名为update.img,也可以直接使用SDK生成的update.img镜像。

tianpu2320959696的博客 3350

单细胞分析避坑指南:你的Harmony批次矫正真的做对了吗?

本文深入探讨了单细胞转录组分析中Harmony批次矫正的正确使用方法,解析了其工作原理及常见误区。通过详细参数调优指南和实战案例,帮助研究者避免过度矫正,确保生物学信号的有效保留。特别关注Harmony在单细胞数据分析中的关键参数设置和结果验证方法。

weixin_31099291的博客 299

Python 在区块链开发中的应用

``html Python 在区块链开发中的应用。

2501_91305236的博客 1499

飞傲Fiio+foobar2000 实现dsd解码+灯正常显示

飞傲Fiio+foobar2000 实现dsd解码+灯正常显示。安装后可将DSD格式的数据通过ASIO驱动传输至DAC。安装后可识别DAC的ASIO驱动。安装后可识别DSD文件。

yanlei7993的博客 2301

python怎么创建新节点_用Python从头创建以太坊(二):Pinging引导节点

本文是从头完整实现以太坊协议系列的第二部分。第一部分在这里。截至目前我们已经实现了以太坊的发现协议,因此我们可以在网络上的找到其他节点。发现协议是RLPx协议的UDP块,它明确了四种消息:PingNode,Pong,FindNeighbors和Neighbors。前文我们已经可以发送PingNode给自己,今天我们将要尝试ping以太坊网络上的节点。(延续昨天的代码)尝试ping别的节点我们发送p...

weixin_39618275的博客 335

数据集FFHQ和LSUN介绍【包含FFHQ1024,515,256,128分辨率图像获取方法】

FFHQ全称Flickr-Faces-High-Quality(Flickr-Faces-HQ),最初是作为生成式对抗网络(GAN)的基准创建的,也用于StyleGAN的训练数据集中,并由英伟达于2019年开源。CVPR_2019Flickr-Faces-HQ (FFHQ)其由 70,000 张分辨率为 1024×1024 的高质量 PNG 图像组成,在年龄、种族和图像背景方面包含相当大的差异。它对眼镜、太阳镜、帽子等配饰也有很好的覆盖。

zik的博客 3980

目标检测YOLO实战应用案例100讲-基于数据融合的SAR图像中海上目标检测与跟踪(中)

本文使用的数据集为欧空局(European Space Agency, ESA)提供的Sentinal-1 数据集,Sentinel-1是欧洲“哥白尼计划”的SAR卫星机群,主要是用于陆地和海 洋服务的极地轨道全天候昼夜雷达成像任务[ 34]。Sentinel-1A于2014年4月3日发 射升空,Sentinel-1B于2016年4月25日发射升空,每颗卫星都携带C波段SAR, 共同提供地球表面的全天候、昼夜图像。

qq_36130719的博客 356

python分布式邻居节点通讯_P2P网络及节点发现机制

1 分布式网络介绍1.1 Kad网介绍1.2 Kad网络节点距离1.3 K桶1.4 Kad通信协议2 邻居节点2.1 NodeTable类主要成员2.2 邻居节点发现方法2.3 邻居节点网络拓扑及刷新机制。1 分布式网络介绍以太坊底层分布式网络即P2P网络,使用了经典的Kademlia网络,简称kad。1.1Kad网介绍Kademlia在2002年由美国纽约大学的PetarP.Manmounko...

weixin_39994665的博客 666

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

上一篇: C#程序员如何基于.net开发以太坊智能合约与dapp应用
下一篇: EOS开发推荐VS Code和CLion做IDE工具
落叶无声9
博客等级 码龄12年 443粉丝 343原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值