# Bitcoin in Action playground

Cosa trovi e puoi fare nel playground?

![https://twitter.com/satoshiwantsyou/status/1347015559901290497](https://852358698-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MQKJKgcTd2_-nxzyaak%2F-MREu0RaqmxlIJ4c3eW6%2F-MREuJN-QBOhi49N76bD%2Fhal.jpg?alt=media\&token=580995b7-cdd5-4ddc-b403-d8f565119363)

> <https://github.com/bitcoin-dalla-teoria-alla-pratica/bitcoin-in-action-playground>

* Smart Contract 101 utilizzando [Bitcoin script](https://playground.bitcoininaction.com/bitcoin-smart-contract-101)
* Sperimentare con la [Blockchain](https://playground.bitcoininaction.com/video-corso-su-bitcoin#blockchain) di Bitcoin
* Creare e manipolare [Transazioni](https://playground.bitcoininaction.com/video-corso-su-bitcoin#transazioni)
* Comprendere il funzionamento dei [Wallet](https://playground.bitcoininaction.com/video-corso-su-bitcoin#wallet)
* Simulare le operazioni di [Mining](https://playground.bitcoininaction.com/video-corso-su-bitcoin#mining)
* Provare con mano la [firma digitale](https://playground.bitcoininaction.com/video-corso-su-bitcoin#blockchain)
* Integrare [Node.js e Bitcoin](https://playground.bitcoininaction.com/bitcoin-e-node.js)
* [SegWit](https://playground.bitcoininaction.com/segwit)
* [Smart Contracts/Multisig](https://playground.bitcoininaction.com/smart-contracts-multisig)
* [Oracoli](https://github.com/bitcoin-dalla-teoria-alla-pratica/playground/blob/master/NOTES.md) #TODO
* [PSBT](https://bitcoindevkit.org/repl/interface/#create_tx) #TODO
* [Lightning Network](https://playground.bitcoininaction.com/lightning-network)

## Chi siamo

> <https://bitcoininaction.com/>

Bitcoin in Action playground e' realizzato dagli autori, [Alessio](https://www.linkedin.com/in/alessiobarnini) e [Alessandro](http://www.aqquadro.it/), dei libri "[Bitcoin dalla teoria alla pratica](https://www.amazon.com/Bitcoin-Dalla-teoria-pratica-Italian/dp/B07SNNNL2P)" / "[Bitcoin in Action](https://www.amazon.com/gp/product/B08NL5ZV6X)" / "[Bitcoin 199 domande](https://www.amazon.it/Bitcoin-199-domande-Alessio-Barnini/dp/1098612639)" e del canale [**YouTube Bitcoin in Action**](https://www.youtube.com/BitcoinInAction) con lo scopo di smorzare il piu' possibile la curva di apprendimento per sviluppare con Bitcoin script e sperimentare con il protocollo Bitcoin in generale.

Segui il [Bizantino su Twitter](https://twitter.com/satoshiwantsyou) per ricevere aggiornamenti!

![https://twitter.com/satoshiwantsyou](https://852358698-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MQKJKgcTd2_-nxzyaak%2F-MQPjy3Fd9eV8gG2PQOD%2F-MQPkuxHgJ_iO7p79MbY%2Fimage.png?alt=media\&token=ac0e4af6-5ac0-43c4-8ae2-a405b48c529a)

## Bitcoin e' una rete P2P

Quando sviluppiamo una web app o app mobile l'architettura si articola su diversi tier eg. frontend/backend/database.

Ogni nodo della rete P2P Bitcoin ha il suo frontend (REST/RPC API), il suo backend (demone *bitcoind*) ed il suo database (una cartella zeppa di file, la famigerata blockchain).

{% hint style="info" %}
L'ambiente di sviluppo locale per Bitcoin, il nostro playground, quindi richiede la messa in funzione di uno o piu' nodi e utility.
{% endhint %}

Possiamo utilizzare gli stessi strumenti che usiamo per configurare ambienti di sviluppo per web app anche per Bitcoin: Docker!

{% hint style="info" %}
Grazie al setup docker-compose che proponiamo vi ritroverete con un'ambiente di sviluppo, come si dice, cotto e mangiato.🍝
{% endhint %}

## Iniziamo!

> Sul [README](https://github.com/bitcoin-dalla-teoria-alla-pratica/bitcoin-in-action-playground#ubuntu-2004) e' disponibile una guida passo passo riguardo l'installazione di Docker/docker-compose su **Ubuntu 20.04** realizzata da [@massmux](https://twitter.com/massmux) ed altri primi passi!

Come anticipato utilizzeremo Docker e docker-compose, seguite i passaggi presenti nella [guida ufficiale](https://docs.docker.com/compose/install/) e sarete pronti per proseguire!

{% hint style="info" %}
Se hai come sistema operativo Windows ti consigliamo di utilizzare il [Windows Subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/install-win10)

Docker + WSL: <https://docs.docker.com/docker-for-windows/wsl/>

Per accedere alle cartelle del WSL da Windows hai due possibilita'\
\- tramite l'apposita [estensione di VS Code](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl)\
\- clonare il [repository](https://github.com/bitcoin-dalla-teoria-alla-pratica/bitcoin-in-action-playground) nella cartella `/mnt/c` del WSL che equivale ad averlo in `C:`
{% endhint %}

### Run on Google Cloud Shell

Per chi non vuole/puo' installare Docker e docker-compose sul proprio computer.

Google Cloud Shell e' una VPS a tempo ([120g dall'ultima login](https://cloud.google.com/shell/docs/limitations#usage_limits)) gratuita per chi ha un account Google. Per resettare Cloud Shell leggere [qua](https://cloud.google.com/shell/docs/resetting-cloud-shell#resetting).

Utilizzando l'apposito [pulsante disponibile su GitHub](https://github.com/bitcoin-dalla-teoria-alla-pratica/bitcoin-in-action-playground#run-on-google-cloud-shell) si attivera' la vostra Cloud Shell e un tuorial vi guidera' nei primi passi.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://playground.bitcoininaction.com/master.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
