Python以太坊和比特币生成vanity地址

作者: 编程狂魔 | 来源:发表于2018-11-05 18:20 被阅读3次

    今天,我们将编写一个非常简单的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以太坊和比特币生成vanity地址

        本文链接:https://www.haomeiwen.com/subject/unxexqtx.html