今天,咱们将编写一个很是简单的python脚原本生成虚荣地址,这些地址是以某个短语或字母序列开头的加密货币地址。该过程涉及生成私钥并检查目标短语的地址,直到找到满意的地址。php
首先,咱们须要安装一些能够执行计算的软件包,以便从私钥生成有效的公共地址。要生成比特币地址,须要转到终端并输入下面命令安装比特币:java
pip install bitcoin
要生成以太坊地址,你须要经过输入下面命令来安装以太坊:node
pip install ethereum
代码很是简单,你只须要建立一个不断生成地址的while循环,并根据你的目标短语进行检查。这是比特币地址的代码:python
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来哈希它们以生成私钥。android
另外,请注意,以太坊地址是十六进制的,只使用了字符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()))
我但愿你对这些有一些乐趣!此外,请注意目标短语中的每一个附加字符都会以指数方式增长生成难度,所以请勿过长。web
======================================================================mongodb
分享一些以太坊、EOS、比特币等区块链相关的交互式在线编程实战教程:编程
python以太坊,主要是针对python工程师使用web3.py进行区块链以太坊开发的详解。app
- 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工程师不可多得的比特币开发学习课程。