【web3py】批量创建eth账号

这篇具有很好参考价值的文章主要介绍了【web3py】批量创建eth账号。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

____tz_zs

创建可在eth链及其侧链上使用的账号。内容包括:远程节点、本地节点、本地密钥对等。
前言:建议使用方式三的方法,在本地生成密钥对。

方式一、远程节点

使用远程节点(如 Infura)创建帐户时,会报如下错误: web3py the method personal_newAccount does not exist/is not available。出于安全原因,远端节点不允许创建新帐户 (personal_newAccount api)。

方式二、本地节点

本地节点(例如,Geth)是由自己启动和控制的。所以它和自己直接保管密钥一样安全。
我们可以在本地运行一个节点(例如,Geth),通过本地端口连接到它,从而可以使用 personal API 来创建账号。ps:注意确保节点已正确配置为接受 personal 方法,对于 Geth, --http.api personal,eth,<etc> 或者 --ws.api personal,eth,<etc>

web3.geth.personal.new_account("")

方式三、生成本地密钥

从技术上讲,帐户的创建与以太坊节点无关,而是由密码学机制产生的。我们不需要任何连接到互联网的东西来生成帐户,只需要知道生成私钥和地址的方法,而生成的本地私钥(32 字节的数据)可以直接在任何eth链或者eth侧链上进行使用。

eth-account 模块

eth-account 模块 的方式不需要连接到以太坊节点,可创建密钥并自己管理。

from eth_account import Account
acct = Account.create(extra_entropy="tz_zs 字符串~")
print(acct.address)
print(acct.key.hex())
# print(acct.privateKey.hex())
"""
0x721ECF90cc921889B330A7819000697d7b344847
0x381aae3c954508a3a88efb82848bcfd1890c02ecd1c4e87a2f8d300e76e70289
"""

web3.eth.accounts.create

web3.eth.accounts.createeth_account 模块是调用一样的底层代码来创建帐户,不会将密钥存储在(本地)节点上(不会存储在密钥库,所以也不会在web3.eth.get_accounts()中),而是由我们自己持有和管理。

from web3 import Web3

w3 = Web3()
acct = w3.eth.account.create("tz_zs 字符串~")
print(acct.address)
print(acct.key.hex())
# print(acct.privateKey.hex())
"""
0x9D0B93CCf7169EaD6b6A38848F98F6BAb61eC232
0xa4bdb18291fcccd6f2e06ca3b72be9c995d64ca9c2791b39ed98a34be8abafdb
"""

补充说明

1、在节点托管密钥,密钥存储在web3.eth.accounts 中,并可通过 send_transaction()签名。
2、本地密钥,即自己保管密钥,使用时,在将交易和消息发送到节点之前使用 send_raw_transaction() 进行签名。

参考

New Ethereum Account with Infura
Generating Ethereum Accounts on web3.py
Why can’t I create an account?
personal_newAccount does not exist/is not available #2723
Some Common Uses for Local Private Keys
web3.eth.accounts.create method doesn’t actually create new account
eth_account
creating account in my privateTestNet instead of a Local account in web3.py
Should I use web3.eth.accounts or web3.eth.personal for account creation ?
Working with Local Private Keys文章来源地址https://www.toymoban.com/news/detail-784380.html

到了这里,关于【web3py】批量创建eth账号的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java通过web3j获取ETH交易明细

        我们在项目里面如果想要得到用户的ETH交易明细怎么做呢?有两种方式:    1、直接获取ETH最新块的交易明细。    2、通过块获取用户的交易明细。 废话不多说,直接贴代码看了          下面是项目的相关依赖:

    2024年02月05日
    浏览(52)
  • web3j的基础用法-3ETH交易监听器

    demo简单实现了4种 监听区块 监听所有交易 监听待上链的交易 监听指定合约的交易事件(例如监控大户流转,实现跟单,抛售等后续逻辑) github 地址 https://github.com/jambestwick/we3jdemo

    2024年02月11日
    浏览(47)
  • Web3.py使用详解

    测试提供商 本地提供商 远程提供商 与以太坊区块链交互的最快方法是使用远程节点提供商,如Infura、Alchemy或QuickNode。您可以通过指定端点连接到远程节点,就像本地节点一样: 判断连接状态  使用web3创建账户 使用eth_account创建账户 效果与 web3 一致,安装web3.py会自动安装

    2024年02月16日
    浏览(39)
  • 前端Vue项目调用页面web3.js:连接metaMask钱包,(查询钱包ETH余额,查询代币余额,ETH转账,代币转账,代币授权,查询授权数量,计算价格)等功能

    这里分享下相关文档 1.web3.js中文文档 https://learnblockchain.cn/docs/web3.js/getting-started.html 2.metamask官方文档:https://docs.metamask.io/ 第一种方法:连接钱包 源码: 第二种方法: 连接钱包 安装依赖直接可以使用 源码: 其他功能: 1、在 mounted 中自动检测浏览器是否安装MetaMask钱包 2、查询

    2024年02月11日
    浏览(51)
  • Web3 solidity编写交易所合约 编写ETH和自定义代币存入逻辑 并带着大家手动测试

    上文 Web3 叙述交易所授权置换概念 编写transferFrom与approve函数我们写完一个简单授权交易所的逻辑 但是并没有测试 其实也不是我不想 主要是 交易所也没实例化 现在也测试不了 我们先运行 ganache 启动一个虚拟的区块链环境 先发布 在终端执行 如果你跟着我一步一步来的 那编

    2024年02月13日
    浏览(44)
  • 以太坊数据开发-Web3.py-安装连接以太坊数据

    Web3.py是连接以太坊的python库,它的API从web3.js中派生而来。如果你用过web3.js,你会对它的API很熟悉。但惭愧的是,作为一个以太坊上Dapp的开发者,我几乎没有直接使用过web3.js,也没有看过它的API。 https://web3py.readthedocs.io/ anaconda可以在环境中openTerninal进行安装 web3py需要通过数

    2024年02月05日
    浏览(44)
  • 用Web3.py、Infura和Graph查询以太坊数据

    本文我们将使用Web3.py这个Python库直接查询以太坊数据。Web3.py是一个为与Ethereum区块链交互而建立的Python库。有了它,我们可以为去中心化的应用程序建立各种核心功能。我们可以直接与智能合约互动,收集区块链数据,并发送交易。让我们开始安装Web3.py。 Web3.py的功能是连接

    2024年01月15日
    浏览(67)
  • python 基于 Web3.py 和 Infura 网关采集链上数据

    Web3.py是与Ethereum交互的Python库。功能包括连接到以太坊网络节点、检索数据和向以太坊网络广播数据。 目前以太坊全节点数据量高达数TB,自建本地全节点不太现实,因此一般通过Infura等的网关来实现数据查询。在 Infura 新建一个项目获取API KEY 需求:识别当前用户地址持有的

    2024年02月02日
    浏览(48)
  • WEB3 在 React搭建的Dapp中通过redux全局获取并存储用户ETH与自定义token与交易所存储数量

    上文 web3 在React dapp中全局管理web3当前登录用户/智能合约等信息中 我们简单操作,将web3的公共信息都存在了window对象上 然后 我们先来启动一下环境 终端输入 打开项目 终端输入 在区块链上发布一下智能合约 然后 我们在 src下的 components 目录下创建两个组件 分别是 余额组件

    2024年02月05日
    浏览(51)
  • Web3通过 MetaMask简单演示对ganache虚拟环境账号进行管理操作

    上文 Web3通过ganache运行起一个本地虚拟区块链 我们通过ganache在本地运行起了一个虚拟的区块链环境 那么 接下来 我们就要用 MetaMask 来管理这个东西了 如果您还没有安装 可以访问文章Web3 将 MetaMask添加入谷歌浏览器 扩展程序中和Web3开发准备工作 手把手带你创建自己的 Meta

    2024年02月10日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包