---------------------- CPU Usage: X% Memory Usage: X% ---------------------- Local: PyBLOCK Node: XxXxXxX Block: XxXxXxX Version: X.x.X A. PyBLOCK B. Bitcoin L. Lightning P. Platforms S. Settings X. Donate Q. Exit Select option:













# PyBLOCK β„™π•ͺ𝔹𝕃𝕆ℂ𝕂 π•šπ•₯𝕀 𝕒 π”Ήπ•šπ•₯π•”π• π•šπ•Ÿ 𝔻𝕒𝕀𝕙𝕓𝕠𝕒𝕣𝕕 π•¨π•šπ•₯𝕙 β„‚π•ͺπ•‘π•™π•–π•£π•‘π•¦π•Ÿπ•œ 𝕒𝕖𝕀π•₯𝕙𝕖π•₯π•šπ•”. - This will fully work on a Node that has Bitcoin Core and LND installed. - We fully tested and worked perfect on [MyNodeBTC](https://twitter.com/_PyBlock_/status/1402516068959199233) - We fully tested and worked perfect on [RaspiBlitz](https://twitter.com/_PyBlock_/status/1405788110458441728) - We fully tested and worked perfect on [BitcoinMachines](https://twitter.com/_PyBlock_/status/1365757861217861632) - We fully tested and worked perfect on [Umbrel](https://twitter.com/_PyBlock_/status/1405574038320201733) # First Start - You will need to find the path of the files tls.cert and admin.macaroon to do the REST connection to have access to LND. - [Poetry](https://python-poetry.org/) is needed to ensure every user has the same python dependencies installed. ### From LOCAL Node Open the Terminal. -- Easy mode: * a@A:~> sudo apt install hexyl * a@A:~> sudo apt install jq * a@A:~> pip3 install pybitblock * a@A:~> pyblock -- Manual mode: * a@A:~> sudo apt install hexyl * a@A:~> sudo apt install jq * a@A:~> git clone https://github.com/curly60e/pyblock.git * a@A:~> cd pyblock * a@A:~> pip3 install -r requirements.txt * a@A:~> cd pybitblock * a@A:~> python3 PyBlock.py -- Poetry mode: * a@A:~> sudo apt install hexyl * a@A:~> sudo apt install jq * a@A:~> pip3 install poetry * a@A:~> git clone https://github.com/curly60e/pyblock.git * a@A:~> cd pyblock * a@A:~> poetry install * a@A:~> cd pybitblock * a@A:~> poetry run python3 PyBlock.py -- Upgrade: * a@A:~> pip3 install pybitblock -U * a@A:~> pyblock * Or * a@A:~> cd pyblock * a@A:~> git pull origin master * a@A:~> cd pybitblock * a@A:~> python3 PyBlock.py
- This is how we continue.

- It will ask you for the IP:PORT (REST PORT) in this case use: localhost instead of the IP.

- Then it will ask you for the path to the tls.cert.

- Then it will ask you for the path to the admin.macaroon.

- Then it will ask you for the path to bitcoin-cli or if you have already installed just put: bitcoin-cli.

- And you are in.

### From REMOTE Computer * You will need to have tls.cert and admin.macaroon already downloaded from your LND node. * [Poetry](https://python-poetry.org/) is needed to ensure every user has the same python dependencies installed. Open the Terminal. -- Easy mode: * a@A:~> sudo apt install hexyl * a@A:~> sudo apt install jq * a@A:~> pip3 install pybitblock * a@A:~> pyblock -- Manual mode: * a@A:~> sudo apt install hexyl * a@A:~> sudo apt install jq * a@A:~> git clone https://github.com/curly60e/pyblock.git * a@A:~> cd pyblock * a@A:~> pip3 install -r requirements.txt * a@A:~> cd pybitblock * a@A:~> python3 PyBlock.py -- Poetry mode: * a@A:~> sudo apt install hexyl * a@A:~> sudo apt install jq * a@A:~> pip3 install poetry * a@A:~> git clone https://github.com/curly60e/pyblock.git * a@A:~> cd pyblock * a@A:~> poetry install * a@A:~> cd pybitblock * a@A:~> poetry run python3 PyBlock.py
- This is how we continue.

- It will ask you for the IP:PORT (REST PORT).

- Then it will ask you for the path to the tls.cert.

- Then it will ask you for the path to the admin.macaroon.

- Then it will ask you for the path to bitcoin-cli or if you have already installed just put: bitcoin-cli.

- And you are in.

## Dependencies - Install Curl on Debian based type: - sudo apt install curl ## How to execute - python3 PyBlock.py ## OracleVision Integration (BIP-110 & Mempool Analysis) PyBLOCK includes a lightweight integration with [OracleVision](https://github.com/MarcanoFilms/oraculovision) for sovereign node operators running **Bitcoin Knots** with **BIP-110** policy enabled. Philosophy: **Don't Trust, Verify** β€” all analysis runs locally against your node via `bitcoin-cli`. ### Built-in features (Bitcoin β†’ OV. OracleVision) | Option | What it does | |--------|----------------| | **BIP-110 Block Scanner** | Scans recent blocks for consensus violations, spam score (0–100), and status (CLEAN / SUSPICIOUS / VIOLATION) | | **Mempool Glass** | Categorizes your node's current `getblocktemplate` into economic, consolidation, coinjoin, and spam buckets | | **Block Detail View** | Deep-dive into a single block: miner tag, witness %, violation flags, problematic transactions β€” with drill-down to Transaction Inspector | | **Transaction & Address Inspector** | Inspect any txid (flow, fees, BIP-110 flags, spam signals) or address (UTXO balance, mempool exposure) β€” verified locally | | **Launch Full OracleVision** | Opens the standalone Textual TUI if installed (DATUM mining, Ocean panels, live charts, multi-screen navigation) | ### Configuration Copy the example config and adjust for your node: ```bash cp pybitblock/config/oraclevision.conf.example pybitblock/config/oraclevision.conf ``` | Setting | Default | Description | |---------|---------|-------------| | `block_scan_count` | 10 | How many recent blocks to scan | | `spam_score_threshold` | 45 | Score above this marks a block as VIOLATION | | `bitcoin_datadir` | `""` | Optional `-datadir` for bitcoin-cli | | `oraculovision_command` | `oraculovision` | Command to launch the full TUI | | `max_vin_lookups` | 4 | Parent transaction RPC lookups to resolve input prevouts in Transaction Inspector | | `scantxoutset_timeout` | 90 | Seconds allowed for UTXO scan in Address Inspector | | `mempool_scan_limit` | 30 | Max mempool txs scanned for address mempool exposure | | `detectors_enabled` | `["builtin"]` | Active BIP-110/spam detector plugins | Environment overrides: `ORACULOVISION_BLOCK_SCAN_COUNT`, `ORACULOVISION_SPAM_THRESHOLD`, `ORACULOVISION_COMMAND`, `BITCOIN_DATADIR`. ### Full OracleVision TUI (recommended for power users) The built-in tools cover the essentials. For the complete dashboard β€” DATUM solo mining panel, Ocean account stats, live mempool charts, and navigable BIP-110 tables β€” install the standalone project: ```bash git clone https://github.com/MarcanoFilms/oraculovision.git cd oraculovision python -m venv .venv source .venv/bin/activate pip install -e . oraculovision ``` From PyBLOCK, use **Bitcoin β†’ OV. OracleVision β†’ E. Launch Full OracleVision TUI**. ### Extending detection logic The analysis engine lives in `pybitblock/oraclevision/` and is intentionally modular: - `script_parser.py` β€” BIP-110 size limits and witness/script parsing - `detectors/` β€” pluggable per-transaction rule checks (register new detectors via config) - `bip110.py` β€” per-block aggregation and spam scoring - `spam_score.py` β€” heuristic scoring (community-tunable weights) - `mempool_compose.py` β€” block template categorization - `tx_flow.py` / `tx_service.py` β€” transaction flow parsing and deep inspection - `address_service.py` β€” UTXO balance and mempool exposure for addresses Pull requests that improve heuristics or add new violation rules are welcome. Add detectors in `oraclevision/detectors/` and keep UI code in `oraclevision/ui.py` separate from detection logic. ## Running PyBLOCK using Docker First check out or [unzip](https://github.com/curly60e/pyblock/archive/refs/heads/master.zip) the code to a directory, cd to that directory, and from there type the following commands: (Make sure Docker desktop is running in the background "sudo service docker start".) - docker build -t pyblock . Run it using - docker run -p 6969:6969 -it pyblock Then open http://localhost:6969 with a browser, you will get the PyBLOCK Docker App. Credentials: "Running:PyBLOCK" ("User:Pass") ### Created by [@Curly60e.](https://twitter.com/curly60e) ⚑️ holycherry05@phoenixwallet.me npub1a78zk8cnczxjudg888f9t3va29vxhevvhdkdqvwe7zk70qx488zsc8573s ### Pentester and contribution by [@SN.](https://twitter.com/__B__T__C__) ⚑️ sn@getalby.com npub1h0mlskkqsyct98tldn744wa5j783h8du779c7zdjay29uyzwev4qxx9sjn ### Contributor [@Danvergara.](https://twitter.com/__danvergara__) ### Tools by [@SamouraiDev,](https://twitter.com/SamouraiDev) [@Korynewton,](https://twitter.com/kn3wt) [@Tippin_Me,](https://twitter.com/tippin_me) [@TallyCoinApp,](https://twitter.com/tallycoinapp) [@DJBooth007,](https://twitter.com/djbooth007) [@MemPool,](https://twitter.com/mempool) [@CoinGecko,](https://twitter.com/coingecko) [@Igor_Chubin,](https://twitter.com/igor_chubin) [@Shesek,](https://twitter.com/shesek) [@LNBits,](https://twitter.com/lnbits) [@LNPAYco,](https://twitter.com/LNPAYco) [@OpenNodeCo,](https://twitter.com/OpenNodeCo) [@BlockStream,](https://twitter.com/Blockstream) [@Gwidion,](https://twitter.com/gwidion) [@AlphaaZeta,](https://twitter.com/alphaazeta) [@Hampus_S,](https://twitter.com/hampus_s) [@Mutatrum,](https://twitter.com/mutatrum) [@RoboHash,](https://twitter.com/Robohash) [@C_Otto83,](https://twitter.com/c_otto83) [@BashCo_,](https://twitter.com/BashCo_) [@JamesOb,](https://twitter.com/jamesob) [@BenTheCarman,](https://twitter.com/benthecarman) [@Whale_Alert,](https://twitter.com/whale_alert) [@BitcoinExplorer,](https://twitter.com/BitcoinExplorer) [@JanoSide,](https://twitter.com/janoside) [@LNstats,](https://twitter.com/LNstats) [@Slush_Pool,](https://twitter.com/slush_pool) [@Braiins_Systems,](https://twitter.com/braiins_systems) [@CKPoolDev,](https://twitter.com/ckpooldev) [@KanoBTC,](https://twitter.com/kanobtc) [@JohnCantrell97,](https://twitter.com/JohnCantrell97) [@JoostJgr,](https://twitter.com/joostjgr) [@PRguitarman,](https://twitter.com/PRguitarman) [@NyanCat,](https://twitter.com/nyannyancat) [@Mononautical,](https://twitter.com/mononautical) [@Janna3257,](https://twitter.com/Janna3257) [@Cercatrova_21,](https://twitter.com/cercatrova_21) [@ChaumDotCom,](https://twitter.com/chaumdotcom) [@0xB10C,](https://twitter.com/0xB10C) [@BitRawr,](https://twitter.com/bitrawr) [@Vishalxl,](https://twitter.com/vishalxl) [@Odudex,](https://twitter.com/odudex) [@UTXOracle,](https://twitter.com/UTXOracle) [@Acinq,](https://twitter.com/acinq_co) [@PhoenixWallet,](https://twitter.com/PhoenixWallet) [@ForemanMining,](https://twitter.com/foremanmining) [@Ocean_Mining,](https://twitter.com/Ocean_Mining) [@LuxorTechnology,](https://twitter.com/LuxorTechnology) [@Skot9000,](https://twitter.com/Skot9000) [@PyPi,](https://pypi.org/project/pybitblock/) ...
## PyBLØCK SOLO MINING POOL Are you a Bitcoin Miner? stratum+tcp://pool110.pyblock.xyz:4445 Note that if you do not find a Block, you get no reward at all with Solo Mining. 0.4 % goes to PyBLØCK to operate the Pool.
## [Click here for more info](https://t.me/pyblockpool)
## [PyBLOCK POOL WEBSITE](https://pyblock.xyz:8443)
## PyBLOCK BOLT12
## SUPPORT PyBLØCK. Address: β€œ1Lovez8UtyFvr35wxDJeC23GryPR3q4cMo” Message: β€œThe 1Love address it’s managed by PyBLØCK Crew.” Signature: β€œG36i/w72LGkUFSrA+/IuaCeRvXUjWIhgMw3FkNucXA3GQRn5RZPFVQ3nJscq1nRjtyK4JoMVG/pM1wQfqS+2+TQ=” Other options: Bolt12: ⚑️ holycherry05@phoenixwallet.me ⚑️ Bitcoin Address: bc1prwjajvvax2rkm2wzelpfzzc2ncywht69pswnurhzdfj9qujhyxzsqpd3eg Samourai Wallet Paynym: PM8TJhNTTq3YVocXuPtLjKx7pKkdUxqwTerWJ2j2a7dNitgyMmBPN6gK61yE17N2vgvQvKYokXktt6D6GZFTmocvDJhaUJfHt7ehEMmthjsT3NQHseFM Monero: 42jtb4dAfm6BQ8h6x56qGyAMMHVXGRwRMTSb2LwsBg1jVqD4TxfpD1pTK56tkrTMGhEKipZdDHfJrB1g8iQfvSyC7gZ9M8M PyBLØCK [Nostr Pulic Channel](https://anigma.io/?channel=ddadf6518d23d5e82a112b7965807ea2adfb22ec353a124fbf5f342e8403fdcb)