国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

使用PHP從擴(kuò)展公鑰生成比特幣錢包地址

劉東 / 2610人閱讀

摘要:重復(fù)使用相同的比特幣錢包地址是一個很大的隱私問題。安裝比特幣庫轉(zhuǎn)到你的服務(wù)器文檔根目錄存儲你網(wǎng)站的目錄并創(chuàng)建文件夾。如果你使用,你必須編輯下變量這將顯示第一個錢包地址。這里是原文使用從擴(kuò)展公鑰生成比特幣錢包地址

重復(fù)使用相同的比特幣錢包地址是一個很大的隱私問題。如果你有一個簡單的電子商店或要求捐贈的網(wǎng)站,你可能需要考慮為每筆交易生成唯一的地址。

有很多支付系統(tǒng),如Bitpay,為你完成所有艱苦的工作。缺點(diǎn)是他們需要使用你的私鑰。但是,你可以使用來自分級確定性(hierarchically deterministic,簡稱HD)錢包的擴(kuò)展公鑰(XPUB)來實(shí)現(xiàn)你自己的簡單解決方案。

整個過程在BIP32中進(jìn)行了解釋。我建議你先閱讀它,以便大致了解地址的來源。

在本教程中,我們將使用ElectrumOS X SierraApache 2.4PHP 7.1Bit-Wasp/bitcoin-php

當(dāng)談到比特幣錢包時,任何HD錢包(如Mycelium)都可以使用。在任何類UNIX系統(tǒng)上,特別是Linux,安裝過程應(yīng)該是相同的。

PHP庫及其依賴項(xiàng)需要PHP5.6+。打開終端并檢查你當(dāng)前的版本:

php -v

在我的環(huán)境下,輸出是:

PHP 7.1.0 (cli) (built: Jan  2 2017 20:09:35) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.1.0-dev, Copyright (c) 1998-2016 Zend Technologies

如果版本小于5.6,則必須先升級PHP。

全局安裝Composer

在我們安裝bitcoin-php庫之前,我們需要確保安裝了composer。

打開終端并輸入:

composer -V

如果它的內(nèi)容像這樣:Composer version 1.3.0 2016-12-24 00:47:03,你可以安全地跳過此步驟。

否則安裝:

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

再次運(yùn)行composer -V檢查它是否已成功安裝。

安裝比特幣PHP庫

轉(zhuǎn)到你的Web服務(wù)器文檔根目錄(存儲你網(wǎng)站的目錄)并創(chuàng)建文件夾bitcoin/hdkeys

在我的例子中,文檔根目錄是~/Sites,但在其他類UNIX系統(tǒng)上也可能是/var/www。如果你不確定,檢查你的服務(wù)器設(shè)置。

cd ~/Sites
mkdir bitcoin bitcoin/hdkeys 
cd bitcoin/hdkeys

安裝Bit-Wasp/bitcoin-php庫:

composer require bitwasp/bitcoin 

它將下載庫和依賴項(xiàng)。此過程可能需要幾分鐘。

如果沒有出任何錯誤,請轉(zhuǎn)到下一步。

從xpub,ypux和zpub生成錢包地址

我寫了一個小類,加載所有必要的bitcoin-php類并打包某些方法以方便使用。

將其下載到目錄:

wget https://gist.githubusercontent.com/mariodian/5b67a1f315a74a7753a6f23d0198ec48/raw/2742a7909dd2621381de53209e85348a078df470/HD.php

首先,我們需要獲得擴(kuò)展的公鑰。

打開Electrum,單擊Wallet,然后單擊Master Public Key并復(fù)制該字符串。

在Electrum 3.x中,轉(zhuǎn)到 Wallet -> Information -> Master Public Key

Legacy address(p2pkh)

打開你喜歡的文本編輯器,創(chuàng)建一個名為generate.php的文件,然后復(fù)制并粘貼以下代碼:

set_xpub($xpub);
$address = $hd->address_from_master_pub($path);

echo $address;

確保根據(jù)你自己的密鑰編輯$xpub變量(也可以使用我的)。

打開瀏覽器并輸入http//localhost/hdkeys/generate.php(或你自己的路徑)。

輸出應(yīng)與你的Electrum錢包中的第一個地址相同。

通過注釋或者取消注釋來查看代碼中的不同路徑的地址是否更改了。

如果你使用Mycelium,你必須編輯下$path變量:

$path = "44"/0"/0"/0/0";

這將顯示第一個錢包地址。要增加地址索引,請編輯最后一位數(shù)字。

原生SegWit地址(p2wpkh)

對于以bc1...開頭的原生SegWit地址(p2wkh),請使用以下代碼:

set_zpub($zpub);
$address = $hd->address_from_master_pub($path);

echo $address;

不要忘記編輯$zpub變量。

非原生SegWit地址(p2sh-p2wpkh)

大多數(shù)SegWit錢包目前使用包含在p2sh中的pay-to-witness-public-key-hash地址。

示例代碼為:

set_ypub($ypub);
$address = $hd->address_from_master_pub($path);

echo $address;

再次,更改自己的$ypub變量。

多重簽名地址(p2sh)

在下一個例子中,我在Electrum中創(chuàng)建了一個2-of-2多重簽名錢包。

這意味著簽署和廣播交易需要2個簽名(總共2個)。第二個簽名是從前一個示例的擴(kuò)展密鑰創(chuàng)建的。

如果你正在努力創(chuàng)建錢包,請參閱Electrum文檔。

返回文本編輯器,創(chuàng)建一個名為generate_multisig.php的新文件,然后復(fù)制并粘貼以下內(nèi)容:

set_multisig_xpubs($xpubs);
$address = $hd->multisig_address_from_xpub($m, $path);

echo $address;

再次,相應(yīng)地編輯$xpubs或使用我的密鑰。如果你使用其他錢包,請不要忘記更改$path

在瀏覽器中打開http://localhost/hdkeys/generate_multisig.php,你應(yīng)該會看到第一個多簽名錢包地址。

如何使用代碼

每次收到新訂單時,從數(shù)據(jù)庫中獲取最后一個地址索引,遞增它并生成新地址。

使用新訂單保存新的錢包地址,時間戳和索引。

你還可以檢查周那幾天內(nèi)未獲得資助的現(xiàn)有地址有哪些。如果找到此類地址,則可以將其分配給新訂單。

這樣可以防止生成太多地址。

但是,如果你確實(shí)生成了大量地址,則需要提高錢包的gap limit

轉(zhuǎn)到Electrum控制臺并運(yùn)行以下命令并重新啟動錢包:

wallet.gap_limit = 100

當(dāng)你轉(zhuǎn)到地址選項(xiàng)卡時,你應(yīng)該會看到更多錢包(以紅色突出顯示)。

正如你所看到的,整個解決方案只是幾行代碼,主要優(yōu)點(diǎn)是與你的私鑰保持一致。你不依賴任何第三方,這是主要目的。希望這個教程很有用,如果遇到任何問題,請告訴我。

分享一些以太坊、EOS、比特幣等區(qū)塊鏈相關(guān)的交互式在線編程實(shí)戰(zhàn)教程:

java以太坊開發(fā)教程,主要是針對java和android程序員進(jìn)行區(qū)塊鏈以太坊開發(fā)的web3j詳解。

python以太坊,主要是針對python工程師使用web3.py進(jìn)行區(qū)塊鏈以太坊開發(fā)的詳解。

php以太坊,主要是介紹使用php進(jìn)行智能合約開發(fā)交互,進(jìn)行賬號創(chuàng)建、交易、轉(zhuǎn)賬、代幣開發(fā)以及過濾器和交易等內(nèi)容。

以太坊入門教程,主要介紹智能合約與dapp應(yīng)用開發(fā),適合入門。

以太坊開發(fā)進(jìn)階教程,主要是介紹使用node.js、mongodb、區(qū)塊鏈、ipfs實(shí)現(xiàn)去中心化電商DApp實(shí)戰(zhàn),適合進(jìn)階。

C#以太坊,主要講解如何使用C#開發(fā)基于.Net的以太坊應(yīng)用,包括賬戶管理、狀態(tài)與交易、智能合約開發(fā)與交互、過濾器和交易等。

EOS教程,本課程幫助你快速入門EOS區(qū)塊鏈去中心化應(yīng)用的開發(fā),內(nèi)容涵蓋EOS工具鏈、賬戶與錢包、發(fā)行代幣、智能合約開發(fā)與部署、使用代碼與智能合約交互等核心知識點(diǎn),最后綜合運(yùn)用各知識點(diǎn)完成一個便簽DApp的開發(fā)。

java比特幣開發(fā)教程,本課程面向初學(xué)者,內(nèi)容即涵蓋比特幣的核心概念,例如區(qū)塊鏈存儲、去中心化共識機(jī)制、密鑰與腳本、交易與UTXO等,同時也詳細(xì)講解如何在Java代碼中集成比特幣支持功能,例如創(chuàng)建地址、管理錢包、構(gòu)造裸交易等,是Java工程師不可多得的比特幣開發(fā)學(xué)習(xí)課程。

php比特幣開發(fā)教程,本課程面向初學(xué)者,內(nèi)容即涵蓋比特幣的核心概念,例如區(qū)塊鏈存儲、去中心化共識機(jī)制、密鑰與腳本、交易與UTXO等,同時也詳細(xì)講解如何在Php代碼中集成比特幣支持功能,例如創(chuàng)建地址、管理錢包、構(gòu)造裸交易等,是Php工程師不可多得的比特幣開發(fā)學(xué)習(xí)課程。

tendermint區(qū)塊鏈開發(fā)詳解,本課程適合希望使用tendermint進(jìn)行區(qū)塊鏈開發(fā)的工程師,課程內(nèi)容即包括tendermint應(yīng)用開發(fā)模型中的核心概念,例如ABCI接口、默克爾樹、多版本狀態(tài)庫等,也包括代幣發(fā)行等豐富的實(shí)操代碼,是go語言工程師快速入門區(qū)塊鏈開發(fā)的最佳選擇。

這里是原文使用PHP從擴(kuò)展公鑰生成比特幣錢包地址

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/29627.html

相關(guān)文章

  • 使用PHP擴(kuò)展公鑰生成比特錢包地址

    摘要:重復(fù)使用相同的比特幣錢包地址是一個很大的隱私問題。安裝比特幣庫轉(zhuǎn)到你的服務(wù)器文檔根目錄存儲你網(wǎng)站的目錄并創(chuàng)建文件夾。如果你使用,你必須編輯下變量這將顯示第一個錢包地址。這里是原文使用從擴(kuò)展公鑰生成比特幣錢包地址 重復(fù)使用相同的比特幣錢包地址是一個很大的隱私問題。如果你有一個簡單的電子商店或要求捐贈的網(wǎng)站,你可能需要考慮為每筆交易生成唯一的地址。 有很多支付系統(tǒng),如Bitpay,為你完成...

    hearaway 評論0 收藏0
  • 如何在Java中生成比特錢包地址

    摘要:公鑰上面生成的密鑰的公共部分被編碼為比特幣地址。使用對地址進(jìn)行編碼我們現(xiàn)在使用庫中的方法來獲得最終的比特幣地址。這是比特幣應(yīng)在交易中發(fā)送到的地址。這是一個如何在中生成比特幣地址的演示文稿。 讓我們通過學(xué)習(xí)比特幣(Bitcoin)如何實(shí)施該技術(shù)的各個方面來工作,好嗎?該技術(shù)包括以下幾個方面: 比特幣地址bitcoin address是用來發(fā)送和接收比特幣的。 交易transaction...

    kidsamong 評論0 收藏0
  • 如何在Java中生成比特錢包地址

    摘要:公鑰上面生成的密鑰的公共部分被編碼為比特幣地址。使用對地址進(jìn)行編碼我們現(xiàn)在使用庫中的方法來獲得最終的比特幣地址。這是比特幣應(yīng)在交易中發(fā)送到的地址。這是一個如何在中生成比特幣地址的演示文稿。 讓我們通過學(xué)習(xí)比特幣(Bitcoin)如何實(shí)施該技術(shù)的各個方面來工作,好嗎?該技術(shù)包括以下幾個方面: 比特幣地址bitcoin address是用來發(fā)送和接收比特幣的。 交易transaction...

    liaorio 評論0 收藏0
  • 理解開發(fā)HD錢包涉及的BIP32、BIP44、BIP39

    摘要:本文首發(fā)于深入淺出區(qū)塊鏈社區(qū)原文鏈接理解開發(fā)錢包涉及的原文已更新,請讀者前往原文閱讀如果你還在被錢包搞的一頭霧水,來看看這邊文章吧。所以我們要開發(fā)以太坊錢包同樣需要對比特幣的錢包提案有所了解。 本文首發(fā)于深入淺出區(qū)塊鏈社區(qū)原文鏈接:理解開發(fā)HD錢包涉及的BIP32、BIP44、BIP39原文已更新,請讀者前往原文閱讀 如果你還在被HD錢包、BIP32、BIP44、BIP39搞的一頭霧水...

    firim 評論0 收藏0
  • 理解開發(fā)HD錢包涉及的BIP32、BIP44、BIP39

    摘要:本文首發(fā)于深入淺出區(qū)塊鏈社區(qū)原文鏈接理解開發(fā)錢包涉及的原文已更新,請讀者前往原文閱讀如果你還在被錢包搞的一頭霧水,來看看這邊文章吧。所以我們要開發(fā)以太坊錢包同樣需要對比特幣的錢包提案有所了解。 本文首發(fā)于深入淺出區(qū)塊鏈社區(qū)原文鏈接:理解開發(fā)HD錢包涉及的BIP32、BIP44、BIP39原文已更新,請讀者前往原文閱讀 如果你還在被HD錢包、BIP32、BIP44、BIP39搞的一頭霧水...

    tianren124 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<