【Umbrel】Node-REDで最新ブロックハッシュを受信するには

【Umbrel】Node-REDで最新ブロックハッシュを受信するには

結論
bitcoindのblocknotifyを使ってcurlでnode-redへ送信。

<手順>

1.ビットコインノードとNode-REDの両方をインストール

スタンドアローンでもOK。

2.ビットコインノードにblocknotify設定を追加

Advanced Settingに以下を追加。
スタンドアローン版なら1880ではなく1881とすること。

blocknotify=curl "http://<UmbrelマシンのIPアドレス>:1880/blocknotify?block_hash=%s"

3.ビットコインノードコンテナにcurlをインストール

シェルで以下コマンドを実行。

docker exec -it -u root bitcoin_app_1 bash -c "apt update && apt install curl -y"

Node-REDにブロックハッシュを送信するコマンドcurlがないので入れておく。ビットコインノードアプリを再起動すると消えるので注意。

4.Node-REDで受信用http-inノードとhttp-responseノードを追加

http-inノードはメソッドをGET、URLは/blocknotify
http-responseノードはステータスコードを200

msg.payload.block_hashに文字列としてブロックハッシュが入る。
以下が書き出したノード。これをコピーして読み込みすると良い。

[
    {
        "id": "8c54b0db52544bba",
        "type": "http in",
        "z": "e4ec3c455db6ecef",
        "name": "",
        "url": "/blocknotify",
        "method": "get",
        "upload": false,
        "skipBodyParsing": false,
        "swaggerDoc": "",
        "x": 260,
        "y": 60,
        "wires": [
            [
                "4dbfddfc2658447d",
                "1df1ee8021c24fe8"
            ]
        ]
    },
    {
        "id": "4dbfddfc2658447d",
        "type": "http response",
        "z": "e4ec3c455db6ecef",
        "name": "",
        "statusCode": "200",
        "headers": {},
        "x": 440,
        "y": 60,
        "wires": []
    },
    {
        "id": "1df1ee8021c24fe8",
        "type": "debug",
        "z": "e4ec3c455db6ecef",
        "name": "ブロックハッシュ受信",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 480,
        "y": 100,
        "wires": []
    }
]

受信するとデバッグではこう見える。

おわり

<メモ>
・blocknotify設定は1つだけのようだ。複数飛ばしたいならシェルスクリプトを作成してそこに複数curlを書いて実行させればよい。
例)
~/umbrel/app-data/bitcoin/data/bitcoinにblocknotify.shを作る。

内容は

#! /bin/bash
curl http://node-red_web_1:1880/blocknotify?block_hash=$1
curl http://<ADDR>:<PORT>/blocknotify?block_hash=$1

bitcoinの設定は

blocknotify=bash /data/bitcoin/blocknotify.sh %s

この続き : 0字 / 画像 0枚
100

会員登録 / ログインして続きを読む

関連記事

記事を書いた人

甘いもの大好きメタボ猫。マイペースなのはしょうがない。 nostr:npub10zeurmg22wc89l8m3npw9cyu45cun0lvs6w3ep69cdpa25pna65s0994qz

SNSにシェア

このクリエイターの人気記事

【Umbrel】BlueWallet Lightning & tailscaleで便利で快適なLightningウォレットを作ろう!

593

【Umbrel】OCEANからマイニング報酬をライトニングで受け取るには【Sparrow Wallet】

381

Bitcoin CPUソロマイニング(マイニングプール無し)

357