區塊鏈愛好者(QQ:53016353)
一、確認基礎環境
作業系統:
建議採用虛擬機器形式安裝Ubuntu 14.04 Desktop 64bit
其他動作系統可以參考本文自行實驗。
Node.js:
Blockchain.info要求 node >= 0.12.0 npm >= 2.12.0, < 3.0.0
查看現有node.js版本的命令參考如下:
apt-cache policy nodejs
node -v
npm -v
如果尚未安裝nodejs,可以參考下述命令進行安裝:
sudo add-apt-repository ‘deb
sudo apt-get update
sudo apt-get install nodejs
如果已安裝的nodejs版本不符合上面的要求,可從nodejs.org網站上手工下載較新版本(目前建議用0.12.10版本)的壓縮包,解壓後用命令列進入解壓後的目錄,輸入以下命令覆蓋舊版本
sudo cp bin/* /usr/bin/
sudo cp -r lib/include /usr/include/
sudo cp -r lib/node_modules /usr/lib/
node -v
npm -v
二、申請apicode:
訪問Blockchain.info的下述網址申請介面授權碼(apicode):
提交申請後,等待兩個工作日後可以收到內含介面授權碼的郵件,將其中的Code對應的後面字串複製儲存好,後續的安裝配置和開發都需要用到。
三、安裝Blockchain Wallet API服務程式
在命令列下輸入以下命令:
sudo npm install -g blockchain-wallet-service
檢查所安裝的Blockchain Wallet API版本:
blockchain-wallet-service -V
如果需要更新到最新版本,可以輸入以下命令:
sudo npm update -g blockchain-wallet-service
四、配置Blockchain Wallet API服務程式
輸入以下命令啟動WalletApi服務:
blockchain-wallet-service start –port 3000
1.建立一個新錢包賬戶
需輸入以下命令:
curl “
其中: YourWalletPassword是給新錢包設定的密碼,一般用英文數字組合,長度在8位字元以上就可以。
YourApiCode是前面申請的介面授權碼,複製到這裡填上就行。
YourWalletName是給新錢包起的名稱,一般用英文數字組合
如果操作成功,會顯示結果類似: {“guid”:”xxxxxxxx-xxxxxx-xxxxxxx-xxxxxxxx”,”address”:”xxxxxxxxxxxxxxxxxxxxx”,”label”:”xxxxx”}
將其中的錢包賬戶標識guid和錢包地址address都記下來,後續操作需要用到。
這裡顯示的address對應的就是新錢包的比特幣地址,可以從別的比特幣錢包向這個新地址發送少量比特幣(比如0.01 BTC)用於後續測試。
註:獲得少量比特幣可以從國內的一些比特幣證券交易所用人民幣來購買然後轉賬到自己的比特幣錢包地址即可。國內常用的證券交易所有:比特幣中國,位元時代,okcoin等,從網上搜尋下即可瞭解到具體操作方法。
2.測試擷取錢包餘額
需輸入以下命令:
curl “
其中: YourGuid是前面建立錢包賬戶時獲得的guid標識
YourWalletPassword是前面設定的錢包密碼
YourApiCode是前面申請的介面授權碼。
如果操作成功,會顯示結果類似: {“balance”:xxxxxxx}
其中的balance是一個整數,單位為聰,1聰=0.00000001 BTC
五、安裝API的用戶端支援庫
本文以Node.js為例,Blockchain.info也提供另外多種語言的API庫如PHP,JAVA,.NET(C#),Ruby,Python等,讀者可以自行參考選用。
在命令列下輸入以下命令:
sudo npm install –save blockchain.info
關於API的node支援庫的詳細說明:
六、編寫第一個程式“Hello,Bitcoin”
第一個樣本程式HelloBitcoin.js源碼如下:
/****************** START *********************/
//Hello Bitcoin Demo of node.js
console.log(‘Hello, Bitcoin.’);
//init wallet object
var MyWallet = require(‘blockchain.info/MyWallet’);
var options = { apiCode: ‘你申請的ApiCode’, apiHost: ‘http://localhost:3000′ };
var wallet = new MyWallet(‘錢包Guid’, ‘錢包密碼Password’, options);
//show balance
wallet.getBalance().then(function (balance) { console.log(‘Wallet balance is %d!’, balance); });
/********************* END ************************/
將你前面獲得的相關配置參數包括apicode,guid和password填入以上代碼中,儲存後即可運行: node HelloBitcoin.js
在此程式的基礎上,經過對相關API的瞭解,我們可以進一步開發出更多功能,如查詢錢包地址清單,發送比特幣,發送特定交易資料包(如多重簽名資料)等等,後續我們PPkPub將深入介紹。