cryptoadvance / cryptoadvance/specter-desktop
Testing BTC-RPC-Proxy to simulate an unpruned node
- Dominant language
- Python
- Stars
- 847
- Forks
- 259
- Avg merge
- 6d 18h
- Merged PRs (30d)
- 2
Description
From: https://github.com/cryptoadvance/specter-desktop/issues/298#issuecomment-724137049
>This code https://github.com/Start9Labs/btc-rpc-proxy-wrapper (though in another language) is able to fetch pruned blocks from other peers.
Based on: https://github.com/Kixunil/btc-rpc-proxy (written in Rust)
This could help Specter to run a with pruned node and maybe would make the use of external block explorers unnecessary (see https://github.com/cryptoadvance/specter-desktop/issues/718)
Quick installation steps as I did on Debian Linux: https://gist.github.com/openoms/2a94a8ad756bf93c8cd57d68958450a6#file-btc-rpc-proxy-md
Need to allow all RPC commands used. Got these when searched for the self.rpc.commands in specter-desktop: https://gist.github.com/openoms/2a94a8ad756bf93c8cd57d68958450a6#configure , but likely missing something still.
When running Specter (`python3 -m cryptoadvance.specter server`) the detection of the bitcoinRPC on localhost (BTC-RPC-proxy) works and connection is tested successfully but immediately runs into these errors:
https://gist.github.com/openoms/2a94a8ad756bf93c8cd57d68958450a6#file-specter-desktop-log
Same time errors in BTC-RPC-Proxy are showing the bad requests:
https://gist.github.com/openoms/2a94a8ad756bf93c8cd57d68958450a6#file-btc_rpc_proxy-log
Either using BTC-RPC-Proxy is really close and I am just missing something or the next step could be to request @Kixunil for the feature if we figure it out what is exactly needed.
Contributor guide
Research direction
Start by running `python3 -m cryptoadvance.specter server` with BTC-RPC-Proxy and compare the Specter and proxy logs linked in the issue. Review the RPC command allowlist based on Specter’s `self.rpc.commands`, identify the missing requests, and verify whether a pruned-node connection works; if the proxy lacks required support, record the precise upstream feature request.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux, python, rust
- Domain
- api, backend, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100