<p>I am running a full node and have written some mining software to learn more about how bitcoin works. I know that the chances of mining a block are basically zero given my hash rate, but I am curious if my setup valid just in case.</p>
<p>When I call:</p>
<pre><code>bitcoin-cli getblocktemplate '{&quot;rules&quot;: [&quot;segwit&quot;]}'
</code></pre>
<p>I get back the json template with the following capabilities and mutable</p>
<pre><code>  &quot;capabilities&quot;: [
    &quot;proposal&quot;
  ],

  ...

  &quot;mutable&quot;: [
    &quot;time&quot;,
    &quot;transactions&quot;,
    &quot;prevblock&quot;
  ],
</code></pre>
<p>Given these values for capabilities and mutable will the network allow me to insert my coinbase transaction and submit a block? If I intentionally set the difficulty low and generate a block I get the high-hash response, so as far as I can tell the network is able to decode my block. Just looking for other ways to test and verify the setup.</p>

CC BY-SA 4.0
2021-03-23T05:24:20.767Z
Hi CryptoJoe, I think https://bitcoin.stackexchange.com/q/17553/5406 may answer your question.
Murch
CC BY-SA 4.0
2021-04-05T16:45:24.587Z
Thanks @Murch for the tip. That is a helpful post. I can see testnet, signet and regtest being very useful for many things. Since I'm able to submit a block and get the high-hash error response I know that the network can decode my blocks. I guess the true test if the main network will accept my block is just to wait and see if I ever successfully mine one.
CryptoJoe
<testing><getblocktemplate>
Is there any way to test that a mining system is set up correctly (solo mining)?
CryptoJoe
# Is there any way to test that a mining system is set up correctly (solo mining)?

(Asked by: username_0 on 2021-03-23)

I am running a full node and have written some mining software to learn more about how bitcoin works. I know that the chances of mining a block are basically zero given my hash rate, but I am curious if my setup valid just in case.

When I call:

```
bitcoin-cli getblocktemplate '{"rules": ["segwit"]}'

```

I get back the json template with the following capabilities and mutable

```
  "capabilities": [
    "proposal"
  ],

  ...

  "mutable": [
    "time",
    "transactions",
    "prevblock"
  ],

```

Given these values for capabilities and mutable will the network allow me to insert my coinbase transaction and submit a block? If I intentionally set the difficulty low and generate a block I get the high-hash response, so as far as I can tell the network is able to decode my block. Just looking for other ways to test and verify the setup.

**Tags:** testing, getblocktemplate

> **Comments:**
> **username_1**: Hi username_0, I think https://bitcoin.stackexchange.com/q/17553/5406 may answer your question.  
> **username_0**: Thanks @username_1 for the tip. That is a helpful post. I can see testnet, signet and regtest being very useful for many things. Since I'm able to submit a block and get the high-hash error response I know that the network can decode my blocks. I guess the true test if the main network will accept my block is just to wait and see if I ever successfully mine one.  

---

## 0 answers

