<p>To create a valid bitcoin block, you will need a view of the current network state. Otherwise how will you know what the previous valid block was, or what transactions are valid and worthy of being included?</p>
<p>To get a view of the current network state, you will need to run a full node. The full node software will run through the history of the network, validating each and every block and transaction, right up to the most recent block. Only once the node is fully synced will it be capable of discerning the current network state (and thus, be capable of creating valid block templates for you)</p>
<p>Otherwise, you will be trusting someone else to create block templates for you, and they could easily create invalid templates, which would never be accepted as a block on the bitcoin network. You would be unable to verify the templates yourself, since you would be unaware of the network state.</p>
<p>So really, if you want to create block templates, you will need to run a full node.</p>

CC BY-SA 4.0
2024-10-08T13:00:59.457Z
But even on a pruned node, there is a complete state of network inside chainstate folder? I run a pruned and a full node and both have the chainstate folder the same size.
charles
CC BY-SA 4.0
2021-08-19T23:12:14.417Z
2021-08-20T09:20:45.190Z
2021-08-20T09:20:45.190Z
chytrik
<p>I was trying to get into bitcoin mining but I could not find any <strong>useful</strong> information on calling <code>getblocktemplate</code> without downloading the entire blockchain. Is there a way to get blocks for mining without running a full node or downloading a pruned node?</p>

<mining-theory><development><getblocktemplate>
How to call `getblocktemplate` without running a full node?
adventure2334
# How to call `getblocktemplate` without running a full node?

(Asked by: username_0 on 2021-08-19)

I was trying to get into bitcoin mining but I could not find any **useful** information on calling `getblocktemplate` without downloading the entire blockchain. Is there a way to get blocks for mining without running a full node or downloading a pruned node?

**Tags:** mining-theory, development, getblocktemplate


---

## 1 answers

### Answer by username_1 on 2021-08-19. Score: 4

To create a valid bitcoin block, you will need a view of the current network state. Otherwise how will you know what the previous valid block was, or what transactions are valid and worthy of being included?

To get a view of the current network state, you will need to run a full node. The full node software will run through the history of the network, validating each and every block and transaction, right up to the most recent block. Only once the node is fully synced will it be capable of discerning the current network state (and thus, be capable of creating valid block templates for you)

Otherwise, you will be trusting someone else to create block templates for you, and they could easily create invalid templates, which would never be accepted as a block on the bitcoin network. You would be unable to verify the templates yourself, since you would be unaware of the network state.

So really, if you want to create block templates, you will need to run a full node.

> **Comments:**
> **username_2**: But even on a pruned node, there is a complete state of network inside chainstate folder? I run a pruned and a full node and both have the chainstate folder the same size.  

---

