如何用Python爲以太坊和比特幣生成vanity地址

今天,咱們將編寫一個很是簡單的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工程師不可多得的比特幣開發學習課程。

匯智網原創翻譯,轉載請標明出處。這裏是原文如何用Python爲以太坊和比特幣生成虛擬地址

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息