javascript を使用してビットコイン ブロックチェーン ウォレットを作成する方法


序章 :



ビットコイン ブロックチェーンは、地球上で最大かつ最も印象的なブロックチェーンの 1 つです.主に暗号通貨であるビットコインを送ることが計画されていました.このように、通常、Bitcoin ブロックチェーンでメッセージを作成するには、あるレコードから始めて次のレコードにいくつかの Bitcoin を送信する必要があります.

ビットコイン ウォレット アドレスは、32 の一意の文字で構成されます.ビットコインを送受信できます.秘密鍵は、ビットコイン アドレスに関連付けられた謎のコードであり、その場所に関連付けられたビットコインに対する責任を示すことができます.

はじめましょう

このブログの内容

1. アドレス エンドポイントの生成

2.住所確認

3.アドレスバランスエンドポイント

まず、block.io や blockcypher.com などのプラットフォームで開発者アカウントを作成できる API が必要です.ここでは blockcypher API を使用しています.ここでは、TESTNET (テスト) と MAINNET (デプロイ) を使用できます.

異なるビットコイン アドレス:

1.数字の1から始まるP2PKH、
例: 1PkCrXg22onNePtQmiepDspLJUv7CtkACx

2.3から始まるP2SH型、
例: 3PZjS8D9bA15km6vfHskNnPvHDL73QH2MN

3. bc1 で始まる Bech32 タイプ.
bc1qGh7s6BYhqV1R3N1qdK8P1KNJjbqmRBs

1. アドレス エンドポイントの生成

API エンドポイント

メインネット

https://api.blockcypher.com/v1/btc/main/addrs


テストネット

https://api.blockcypher.com/v1/btc/test3/addrs


HTTP リクエストを行う

var xhr = new XMLHttpRequest();
xhr.open("POST", url);

xhr.setRequestHeader("Content-Type", "application/json");
xhr.onreadystatechange = function () {
   if (xhr.readyState === 4) {

      var data = JSON.parse(xhr.responseText);

   }};

xhr.send();


出力:

{
"private": "81ee75559d37cbe4b7cbbfb9931ab1ba32172c5cdfc3ac2d020259b4c1104198",
"public": "0231ff9ec76820cb36b69061f6ffb125db3793b4aced468a1261b0680e1ef4883a",
"address": "mvpW7fMSi1nbZhJJDySNS2PUau8ppnu4kY",
"wif": "cRwGhRjCuuNtPgLcoYd1CuAqjFXCV5YNCQ1LB8RsFCvu61VfSsgR"
}


デモ here を参照してください.MAINNET と TESTNET のアドレスを確認してください.

2.住所確認

有効なビットコイン アドレスは、ビットコインを保管して残高を確認するために使用する台帳番号に似ています.住所を間違えると、お金を失う可能性があります.したがって、アドレスを割り当てる前に、それが有効かどうかを確認してください.

アドレスを検証するには、 wallet-address-validator という名前のライブラリを使用します.

インストール

NPM

npm install wallet-address-validator


ブラウザ

<script src="wallet-address-validator.min.js"></script>


here から js を取得する場合があります

以下の関数を呼び出して検証を確認します

    var address = document.getElementById('addr').value;

    var valid = WAValidator.validate(address, 'bitcoin');
    if(valid)
        alert('This is a valid address');
    else
        alert('Address INVALID');


*注*: この検証により、MAINNET を検証できます.

3.アドレスバランスエンドポイント

API エンドポイント

テストネット

https://api.blockcypher.com/v1/btc/test3/addrs/{address}/balance


メインネット

https://api.blockcypher.com/v1/btc/test3/addrs/{address}/balance


出力

{
  "address": "mx52XPqpzygzadkk8n1rCZPrC7B4h4UcwT",
  "total_received": 2404904,
  "total_sent": 0,
  "balance": 2404904,
  "unconfirmed_balance": 0,
  "final_balance": 2404904,
  "n_tx": 4,
  "unconfirmed_n_tx": 0,
  "final_n_tx": 4
}


私の GitHub リポジトリですべてのコードを追跡できます.役立つと思われる場合は、星を落としてください.

次の記事で取引を続けます.

ありがとう&お大事に!!