hiro99ma blog

Blockstream/esplora

最終更新日: 2025/07/16

repository

2025/07/16: commit_id=52de3ccf39c56ff839e26829ccd6d18f169832f7

用途

Blockstream/electrsを使ったブロックエクスプローラー。

インストール

$ git clone https://github.com/Blockstream/esplora && cd esplora
$ npm install

Dockerコンテナ版もあるが、Bitcoin regtestで試したところBitcoinノードとElectrsも一緒に起動した。 私の用途に合わなかったのでそれ以上試していない。

実行

Elctrs の REST API が http://localhost:3002/ で動いている場合はこうなる。
環境変数の終わりは / を付けること。

この設定だとSTATIC_ROOTAPI_URLが同じlocalhostではあるもののポート番号が異なるためOriginが別と判断される。 ここではSTATIC_ROOTからAPI_URLを呼び出す経路に影響がある。
関連する設定で、esplora には環境変数CORS_ALLOWが、electrs には --corsがある。 どちらに対して設定するかというと、「アクセスを許可する」なのでAPIを提供するelectrsに--cors="http://localhost:5000"などとして相手を許すようにしておく。

# Don't forget last "/"
$ export STATIC_ROOT=http://localhost:5000/
$ export API_URL=http://localhost:3002/
$ npm run dev-server

STATIC_ROOTがブラウザでアクセスするURLである。
別PC だった場合はこれに IPアドレスなどを設定するとよさそうなのだが、”Unexpected token” で500エラーになる。
おそらくこのissueと同じだろうが、まだOPENのままだった。

Electrs を立ち上げたPC が headless の Raspberry Pi3 だったのでブラウザが使えないから外部からアクセスできるようにしようとしているのであった。

それをあきらめ、Electrs にアクセスするAPI_URLを別PC で動かしている URL にして Esplora 自体はブラウザが使用できる PCで立ち上げようと考えた。
が、これはこれで CORS がうんぬんということでエラーになった。
開発サーバの設定にCORS_ALLOWがあるのでURLだったり”*“だったりを書いてみたのだが、どうにも解決しなかった。

writer: hiro99ma
tags:  

 < Top page

コメント(Google Formへ飛びます)

GitHub

X/Twitter

Homepage

About me