<p>By design, Bitcoin Core is a fully validating Bitcoin node and does not have an SPV client mode.</p>

<p>If disk space is your primary concern, you can run Bitcoin Core with pruning active. This will delete old blocks from disk but maintain a full UTXO set which is sufficient for full blockchain validation. </p>

<p>Bitcoin Core can <em>serve</em> SPV clients, although there has been <a href="https://www.mail-archive.com/bitcoin-dev@lists.linuxfoundation.org/msg08184.html" rel="nofollow noreferrer">discussion</a> to deprecate this service or at least switch the service off by default. Before using an SPV wallet yourself, you should understand the tradeoffs for both security and privacy.</p>

<p>There are other software libraries capable of running a bitcoin wallet with Simple Payment Verification. One such library is bcoin which is written in nodejs: </p>

<p><a href="https://GitHub.com/bcoin-org/bcoin" rel="nofollow noreferrer">https://GitHub.com/bcoin-org/bcoin</a></p>

CC BY-SA 4.0
2020-05-03T14:08:28.530Z
2020-05-03T14:36:56.537Z
2020-05-03T14:36:56.537Z
pinhead
<p>As I know, there is a light node version called <code>SPV</code>.
for now I have started a full node and it has downloaded <code>82222</code> blocks, but I don't want to have a full node with full blockchain, my purpose is to have a node that provide me:</p>

<ul>
<li>check balance or unspent amount for an address</li>
<li>sign and broadcast a transaction</li>
</ul>

<p>is this possible? </p>

CC BY-SA 4.0
2020-05-03T13:40:03.350Z
bcoin is a nodejs Bitcoin library with both full and SPV node applications: https://GitHub.com/bcoin-org/bcoin
pinhead
CC BY-SA 4.0
2020-05-03T13:46:35.667Z
@pinhead thank you, only can I ask a question? I have downloaded bitcoin source from here https://github.com/bitcoin/bitcoin and after all steps I can run bitcoin-cli. now it downloaded blocks 8222, but I don't want to download 300GB of blocks and only I want to download headers. this has any line config in bitcoin.conf or 
Is something completely separate from bitcoin core?
Hamid Naghipour
CC BY-SA 4.0
2020-05-03T13:48:53.173Z
Bitcoin Core does not have an SPV mode. It can serve SPV clients but by design it is only a full node. If disk space is your only issue you can run it with pruning on. A pruned node deletes old blocks from disk but still maintains a complete UTXO set which is sufficient for full validation.
pinhead
CC BY-SA 4.0
2020-05-03T13:51:59.953Z
@pinhead The bcoin re write bitcoin in node application with SPV mode? or inside of Node app connect to P2p network with SPV mode? or like me install bitcoin core and only different config? Thank you about "pruning", disk space and bandwidth.
Hamid Naghipour
CC BY-SA 4.0
2020-05-03T13:54:53.533Z
Bcoin is an alternative implementation of the bitcoin protocol. It was written from scratch in nodejs and shares very little code in common with Bitcoin Core which is written in C++. Some open source libraries like the crypto library libsecp256k1 are included with license. But otherwise it is a complete rewrite including networking, wallet, and block validation.
pinhead
CC BY-SA 4.0
2020-05-03T14:02:34.857Z
@pinhead Great, Thank you very much. So there is no need to install bitcoin core when we want to have a SPV node, I was looking a way to change a config that change type of message from block to Header. you said there is not this config and bitcoin core doesn't support SPV node.Am I right? Do you know like this in php please?
Hamid Naghipour
CC BY-SA 4.0
2020-05-03T14:03:53.330Z
Yeah sounds like you get the concept. Please learn more about the trade offs involved with SPV before using it. I'm not aware of any useful PHP bitcoin library.
pinhead
CC BY-SA 4.0
2020-05-03T14:39:18.927Z
@pinhead I asked another question, answer it please if you like and get points:
https://bitcoin.stackexchange.com/questions/95676/how-to-getheaders-from-blockchain
Hamid Naghipour
<bitcoin-core><bitcoind><full-node><spv>
Step by step to make a SPV bitcoin node
Hamid Naghipour
# Step by step to make a SPV bitcoin node

(Asked by: username_0 on 2020-05-03)

As I know, there is a light node version called `SPV`.
for now I have started a full node and it has downloaded `82222` blocks, but I don't want to have a full node with full blockchain, my purpose is to have a node that provide me:

* check balance or unspent amount for an address
* sign and broadcast a transaction

is this possible?

**Tags:** bitcoin-core, bitcoind, full-node, spv

> **Comments:**
> **username_1**: bcoin is a nodejs Bitcoin library with both full and SPV node applications: https://GitHub.com/bcoin-org/bcoin  
> **username_0**: @username_1 thank you, only can I ask a question? I have downloaded bitcoin source from here https://github.com/bitcoin/bitcoin and after all steps I can run bitcoin-cli. now it downloaded blocks 8222, but I don't want to download 300GB of blocks and only I want to download headers. this has any line config in bitcoin.conf or  Is something completely separate from bitcoin core?  
> **username_1**: Bitcoin Core does not have an SPV mode. It can serve SPV clients but by design it is only a full node. If disk space is your only issue you can run it with pruning on. A pruned node deletes old blocks from disk but still maintains a complete UTXO set which is sufficient for full validation.  
> **username_0**: @username_1 The bcoin re write bitcoin in node application with SPV mode? or inside of Node app connect to P2p network with SPV mode? or like me install bitcoin core and only different config? Thank you about "pruning", disk space and bandwidth.  
> **username_1**: Bcoin is an alternative implementation of the bitcoin protocol. It was written from scratch in nodejs and shares very little code in common with Bitcoin Core which is written in C++. Some open source libraries like the crypto library libsecp256k1 are included with license. But otherwise it is a complete rewrite including networking, wallet, and block validation.  
> **username_0**: @username_1 Great, Thank you very much. So there is no need to install bitcoin core when we want to have a SPV node, I was looking a way to change a config that change type of message from block to Header. you said there is not this config and bitcoin core doesn't support SPV node.Am I right? Do you know like this in php please?  
> **username_1**: Yeah sounds like you get the concept. Please learn more about the trade offs involved with SPV before using it. I'm not aware of any useful PHP bitcoin library.  
> **username_0**: @username_1 I asked another question, answer it please if you like and get points: https://bitcoin.stackexchange.com/questions/95676/how-to-getheaders-from-blockchain  

---

## 1 answers

### Answer by username_1 on 2020-05-03. Score: 2 | Accepted answer

By design, Bitcoin Core is a fully validating Bitcoin node and does not have an SPV client mode.

If disk space is your primary concern, you can run Bitcoin Core with pruning active. This will delete old blocks from disk but maintain a full UTXO set which is sufficient for full blockchain validation.

Bitcoin Core can *serve* SPV clients, although there has been [discussion](https://www.mail-archive.com/bitcoin-dev@lists.linuxfoundation.org/msg08184.html) to deprecate this service or at least switch the service off by default. Before using an SPV wallet yourself, you should understand the tradeoffs for both security and privacy.

There are other software libraries capable of running a bitcoin wallet with Simple Payment Verification. One such library is bcoin which is written in nodejs:

<https://GitHub.com/bcoin-org/bcoin>


---

