# Bitcoin Core desktop

## Integrare Bitcoin Core con la rete Bitcoin regtest del playground

{% hint style="info" %}
**NB:** se utilizzate Bitcoin Core desktop come wallet e avete sincronizzato la mainnet e magari avete sopra anche dei bitcoin mi raccomando attenzione!!
{% endhint %}

Possiamo scaricare il wallet ufficiale di Bitcoin chiamato *Bitcoin Core:* <https://bitcoin.org/it/scarica>.

> Appena avviate Bitcoin Core vi chiedera' se volete *prunare*, dite di no tanto non faremo concludere la sincronizzazione con la mainnet e quindi non occuperte i 200GB che il messaggio di avviso propone :)

Una volta avviato utilizzate il menu' *Settings* > *Options* e cliccate *Open Configuration File*.

![](https://852358698-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MQKJKgcTd2_-nxzyaak%2F-MR23b4afGbiqxd_70rO%2F-MR28-TO3Td5KeCju86T%2Fimage.png?alt=media\&token=40a123bc-04a8-4515-be7e-f00315cb97e6)

All'interno del file di configurazione inserite quanto segue

{% hint style="info" %}
Se avevate gia' modificato questo file per la mainnet non e' un problema aggiungere la sezione `[regtest]`.

Quest'ultima verra' utilizzata solo se la riga `regtest=1` e' presente.

Per tornare ad usare la mainnet vi bastera' trasformare la riga 1 che segue in `# regtest=1.`
{% endhint %}

```
regtest=1

[regtest]
onlynet=ipv4
# hansel espone la porta di protocollo bitcoin su 18444 (default)
addnode=127.0.0.1
# gretel espone la porta di protocollo bitcoin su 28444 (custom per non andare in conflitto con hansel)
addnode=127.0.0.1:28444
```

Salvate il file.

Chiudete Bitcoin Core e assicuratevi che non sia in esecuzione.

Assicuratevi che il docker-compose del playground sia up & running e aprite nuovamente Bitcoin Core.\
Potete subito accorgervi se Bitcoin Core ha recepito di essere in regtest dal logo turchese nella splashscreen.

![arancio/mainnet - verde/testnet - turchese/regtest](https://852358698-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MQKJKgcTd2_-nxzyaak%2F-MR23b4afGbiqxd_70rO%2F-MR2CW2Qs6_5R2nhyKXB%2Fimage.png?alt=media\&token=5e565bfc-5e21-4593-a044-99e23a11dc6c)

Aprite nuovamente il menu' *Settings* > *Options* ed inserite quando segue nel tab *Display*

![http://localhost:8094/regtest/tx/%s](https://852358698-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MQKJKgcTd2_-nxzyaak%2F-MR23b4afGbiqxd_70rO%2F-MR293E8elxOfxY3G3Oq%2Fimage.png?alt=media\&token=a7346be5-11a1-4604-9367-13461edfe228)

{% hint style="info" %}
Se usate Bitcoin Core desktop anche per la mainnet questa impostazione non vi permettera' di aprire il blockchain explorer per transazioni in mainnet.
{% endhint %}

## Inviare bitcoin a Bitcoin Core wallet

Dalla schermata principale cliccare *Receive* > *Create new receiving address* > *Copy Address*.

Successivamente dal nodo [Hansel o Gretel](https://playground.bitcoininaction.com/playground-overview#hansel-e-gretel) possiamo inviarci dei fondi

```
bitcoin-cli generatetoaddress 101 <incollate qui l'address copiato da Bitcoin Core>
```

Se tutto ha funzionato Bitcoin Core vi mostrera' una notifica desktop avvisandovi che avete ricevuto 50 bitcoin!

### Aprire una transazione del wallet Bitcoin Core tramite il Bitcoin regtest explorer

Dalla schermata principale cliccare *Transactions*.\
Selezionate la transazione desiderata, cliccate di destro su di essa e selezionate localhost

![Cliccando su locahost si aprira' la pagina del Bitcoin regtest explorer](https://852358698-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MQKJKgcTd2_-nxzyaak%2F-MR23b4afGbiqxd_70rO%2F-MR2AwyUDkE8iJ2NF8GN%2Fimage.png?alt=media\&token=5a58aa75-45d3-46ba-a426-aba087829734)

## Bitcoin Core desktop datadir e regtest-delete.sh

Tornate nella schemata principale di Bitcoin Core cliccate *Window* > *Information* e aprite la cartella indicata come *datadir*.

{% hint style="info" %}
Una volta sincronizzato Bitcoin Core desktop con il playground, se cancellate la regtest dei nodi tramite [regtest-delete.sh](https://playground.bitcoininaction.com/playground-overview#regtest-delete-sh), prima di ricollegare Bitcoin Core desktop al playground ricordatevi di rimuovere la cartella `regtest` dalla `datadir`.

Se non lo fate Bitcoin Core segnalera' che esiste una tip della blockchain locale ed i nodi del playground si sincronizzeranno!
{% endhint %}
