區塊鏈全節點的JavaScript實現:Bcoin 入門 - pradyuman
在本文中,我們將介紹“如何使用 Bcoin 安裝和執行比特幣的完整節點”。
我們將建立一個錢包,傳送一些硬幣並在 regtest 模式下挖掘一些塊。那麼,讓我們開始吧。
比特幣區塊鏈被設計為一個去中心化的 P2P 網路,沒有人擁有或控制比特幣,每個人都可以參與。全節點是完全驗證交易和區塊的程式。透過執行比特幣全節點,您正在支援比特幣網路變得更加去中心化並促進比特幣的增長。
“Bcoin”是用 Javascript 構建的比特幣協議的另一種實現。完整節點可用於完整的區塊鏈驗證,並瞭解所有已知的共識規則。與其他類似的競爭實現相比,它更易於使用、學習更快且文件更齊全。
Bcoin 出於安全目的,只透過 Git 安裝,因為透過 npm 安裝時存在安全問題。
$ mkdir Bcoin && cd Bcoin $ git clone https://github.com/bcoin-org/bcoin $ cd bcoin |
使用 npm 全域性構建和安裝:
$ npm rebuild $ npm install --global |
在 Nodejs 專案中,通常使用npm install,它將獲取依賴樹中提到的所有依賴項。我們擔心 npm 作為單一的中心故障點以及如何驗證下載的原始碼。因此,現在不需要npm install。
在本地執行測試:
從Bcoinrepo 目錄中,執行
$ npm run test |
現在,我們已準備好執行我們的bcoin完整節點
啟動你的第一個 bcoin 節點
如果bcoin是全域性安裝,bcoin則應在您的 PATH 中。如果沒有,bcoin引導指令碼駐留在/path/to/bcoin/bin/bcoin. 我們將在regtest模式下執行完整節點。
$ bcoin --network=regtest
這將在本地測試模式下啟動一個bcoin全節點,沒有對等點和 0 難度挖掘。在bcoin整個節點將使用預設選項透過讀取啟動。在配置嚮導你可以看到其他設定可用。
現在在第二個終端中,使用該bcoin-cli工具獲取節點資訊。
$ bcoin-cli --network=regtest info
玩錢包
預設情況下,該Bcoin軟體執行一個錢包,該錢包在第一次啟動時被初始化。錢包被呼叫,primary並且有一個名為 的帳戶default。
Bcoin錢包結構使用BIP44,錢包Bcoin使用BIP39種子短語。
獲取錢包的種子短語:
$ bwallet-cli master --id=primary |
此命令將返回JSON有關您的錢包主金鑰的包含資訊:
{ "encrypted": false, "key": { "xprivkey": "tprv8ZgxMBicQKsPfNKy1Wf9EV1cTmz1Cmm6MVrvYdgcR6Hf8sEDUAzhnnoiVbw5jejp4EZWXynQEJhB62oSfANpHRAJqfiZarh1gVMowcJZ2Mn" }, "mnemonic": { "bits": 128, "language": "english", "entropy": "e35833c318d677945ec21efff032bb64", "phrase": "today screen valid coyote guess sketch kitchen duck zoo light put siege" } } |
獲取您錢包的當前接收地址
$ bwallet-cli --id=primary --account=default address
它將返回JSON有關您當前接收地址的響應。
{ "name": "default", "account": 0, "branch": 0, "index": 3, "witness": false, "nested": false, "publicKey": "03af169e5a186bbd7b380cb4553c72af243e18f243785b1597f192bbedd4a94fc3", "script": null, "program": null, "type": "pubkeyhash", "address": "n2eoT9D8txT5ZymDvCFPA8PHs2CmTV6oJT" } |
現在你有了一個接收地址,所以我們可以在當前(regtest)網路中挖掘一些虛擬塊來為我們的錢包提供資金。
$ bcoin-cli rpc generatetoaddress 10 n2eoT9D8txT5ZymDvCFPA8PHs2CmTV6oJT
此命令將在 regtest 網路中挖掘 10 個區塊,地址為您的 coinbase 地址。現在我們可以檢查我們的錢包餘額。
檢查您的錢包餘額:
$ bwallet-cli --id=primary balance --account=default
它將返回JSON包含您的帳戶餘額的響應:
{ "account": 0, "tx": 307, "coin": 287, "unconfirmed": 1122500000000, "confirmed": 1122500000000 } |
現在讓我們建立第二個錢包,一個使用Segregated Witness. 這個錢包型別的簡要說明是 在這裡.
建立隔離見證錢包
你可以隨意命名這個錢包(這裡我們將它命名為 test1
$ bwallet-cli mkwallet test1 --witness=true
它將返回包含JSON您的新錢包詳細資訊的響應,
{ "network": "regtest", "wid": 11, "id": "test1", "watchOnly": false, "accountDepth": 1, "token": "489d43e398dad34e69653e5edb5cb39b6d55be3364753c07d084d4b3d0292af7", "tokenDepth": 0, "master": { "encrypted": true, "until": 1571763677, "iv": "4e24f2a5908e20da0b8ba3e88dcda272", "algorithm": "pbkdf2", "n": 50000, "r": 0, "p": 0 }, "balance": { "tx": 0, "coin": 0, "unconfirmed": 0, "confirmed": 0 } } |
獲取這個新錢包的地址:
$ bwallet-cli --id=test1 --account=default address
現在,我們有了新的錢包地址,讓我們從第一個錢包向第二個錢包傳送一些硬幣。
匯款
$ bwallet-cli send --id=primary --value=1000 --address=<your segwit wallet address> |
現在,檢查我們的segwit wallet.
$ bwallet-cli --id=test1 balance |
它顯示了一個JSON響應,
{ "account": -1, "tx": 1, "coin": 1, "unconfirmed": 100000000000, "confirmed": 0 } |
因此,我們建立了兩個錢包,並將一些 regtest 硬幣從一個錢包傳送到另一個錢包,我們還挖掘了一些 regtest 區塊。
相關文章
- JavaScript實現區塊鏈JavaScript區塊鏈
- 區塊鏈應用:Bitshares 入門(一) 搭建Bitshares本地全量節點(重錢包)區塊鏈
- 區塊鏈入門區塊鏈
- [譯]區塊鏈技術全解析入門版區塊鏈
- 使用Javascript實現小型區塊鏈JavaScript區塊鏈
- 區塊鏈入門 -- 02 區塊鏈介紹區塊鏈
- 區塊鏈入門 ③ - 交易區塊鏈
- 區塊鏈入門教程區塊鏈
- 轉:區塊鏈入門教程區塊鏈
- javascript快速入門15--節點JavaScript
- 雲+區塊鏈 實現區塊鏈技術的普惠應用區塊鏈
- 區塊鏈-NFT 的實現原理區塊鏈
- 區塊鏈技術入門應用區塊鏈
- tendermint區塊鏈五分鐘入門區塊鏈
- 區塊鏈開發Hyperledger Fabric入門區塊鏈
- 區塊鏈入門知識介紹!區塊鏈
- 區塊鏈入門——比特幣科普區塊鏈比特幣
- 區塊鏈資料管理平臺開發,多節點聯盟區塊鏈搭建區塊鏈
- 區塊鏈輕節點:“身”輕,責任重區塊鏈
- 【區塊鏈技術實現】區塊鏈
- 深圳區塊鏈技術應用落地服務,多節點聯盟區塊鏈搭建區塊鏈
- 一文讀懂區塊鏈以及一個區塊鏈的實現區塊鏈
- 區塊鏈開發Hyperledger Sawtooth入門區塊鏈
- 區塊鏈技術:智慧合約入門區塊鏈
- 比特幣和區塊鏈(2):比特幣中區塊鏈的實現比特幣區塊鏈
- .Net Core實現區塊鏈初探區塊鏈
- 在 iOS 中實現區塊鏈iOS區塊鏈
- 200行golang 實現的區塊鏈Golang區塊鏈
- 區塊鏈的原理與golang實現例子區塊鏈Golang
- 區塊鏈3.0儲存礦機-YottaChain芝麻雲節點區塊鏈AI
- 區塊鏈100講:EOS環境搭建入門(私鏈節點-錢包-金鑰-賬號)區塊鏈
- 區塊鏈技術開發公司談區塊鏈保險的特點區塊鏈
- NodeJS實現簡易區塊鏈NodeJS區塊鏈
- V神:區塊鏈上投票流程的實現區塊鏈
- 節點計算提供商(全球節點)執行在 ADAMoracle 安全可靠的區塊鏈上Oracle區塊鏈
- 區塊鏈入門及非對稱加密技術區塊鏈加密
- 區塊鏈技術應用智慧財產權上鍊存證,多節點聯盟區塊鏈搭建區塊鏈
- NYDIG交易所揭開區塊鏈節點神秘的面紗區塊鏈