如何用Python为以太坊和比特币生成虚拟地址

栏目: Python · 发布时间: 5年前

内容简介:今天,我们将编写一个非常简单的python脚本来生成虚拟地址,这些地址是以某个短语或字母序列开头的加密货币地址。该过程涉及生成私钥并检查目标短语的地址,直到找到满意的地址。首先,我们需要安装一些可以执行计算的软件包,以便从私钥生成有效的公共地址。要生成比特币地址,需要转到终端并输入下面命令安装比特币:要生成以太坊地址,你需要通过输入下面命令来安装以太坊:

今天,我们将编写一个非常简单的 python 脚本来生成虚拟地址,这些地址是以某个短语或字母序列开头的加密货币地址。该过程涉及生成私钥并检查目标短语的地址,直到找到满意的地址。

安装包

首先,我们需要安装一些可以执行计算的软件包,以便从私钥生成有效的公共地址。要生成比特币地址,需要转到终端并输入下面命令安装比特币:

pip install bitcoin

要生成以太坊地址,你需要通过输入下面命令来安装以太坊:

pip install ethereum

编写代码

代码非常简单,你只需要创建一个不断生成地址的while循环,并根据你的目标短语进行检查。这是比特币地址的代码:

from bitcoin import *

target = input('Input Target Phrase\n>')

priv = random_key()
addr = pubtoaddr(privtopub(priv))

while not addr.lower().startswith('1{}'.format(target)):
    priv = random_key()
    addr = pubtoaddr(privtopub(priv))

print('Address: {}\nPrivate Key: {}'.format(addr, priv))

以太坊有点不同,因为它没有内置的随机密钥生成器,所以你必须导入os来生成随机数并使用SHA3来哈希它们以生成私钥。

另外,请注意,以太坊地址是十六进制的,只使用了字符a-f和0-9,因此你可以生成的地址类型受到限制。如果输入的目标不是十六进制,它将无限循环,因为它永远不会生成包含非十六进制字符的地址。

from ethereum import utils
import os

target = input('Input Target Phrase\n>')

priv = utils.sha3(os.urandom(4096))
addr = utils.checksum_encode(utils.privtoaddr(priv))

while not addr.lower().startswith('0x{}'.format(target)):
    priv = utils.sha3(os.urandom(4096))
    addr = utils.checksum_encode(utils.privtoaddr(priv))

print('Address: {}\nPrivate Key: {}'.format(addr, priv.hex()))

我希望你对这些有一些乐趣!此外,请注意目标短语中的每个附加字符都会以指数方式增加生成难度,因此请勿过长。

======================================================================

分享一些以太坊、EOS、比特币等区块链相关的交互式在线编程实战教程:

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

  • java以太坊开发教程,主要是针对 java 和android程序员进行区块链以太坊开发的web3j详解。
  • php以太坊,主要是介绍使用 php 进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和交易等内容。
  • 以太坊入门教程,主要介绍智能合约与dapp应用开发,适合入门。
  • 以太坊开发进阶教程,主要是介绍使用node.js、 mongodb 、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
  • C#以太坊,主要讲解如何使用C#开发基于.Net的以太坊应用,包括账户管理、状态与交易、智能合约开发与交互、过滤器和交易等。
  • EOS教程,本课程帮助你快速入门EOS区块链去中心化应用的开发,内容涵盖EOS工具链、账户与钱包、发行代币、智能合约开发与部署、使用代码与智能合约交互等核心知识点,最后综合运用各知识点完成一个便签DApp的开发。
  • java比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Java代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Java工程师不可多得的比特币开发学习课程。
  • php比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Php代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Php工程师不可多得的比特币开发学习课程。

汇智网原创翻译,转载请标明出处。这里是原文 如何用Python为以太坊和比特币生成虚拟地址


以上所述就是小编给大家介绍的《如何用Python为以太坊和比特币生成虚拟地址》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Trading and Exchanges

Trading and Exchanges

Larry Harris / Oxford University Press, USA / 2002-10-24 / USD 95.00

This book is about trading, the people who trade securities and contracts, the marketplaces where they trade, and the rules that govern it. Readers will learn about investors, brokers, dealers, arbit......一起来看看 《Trading and Exchanges》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

随机密码生成器
随机密码生成器

多种字符组合密码