Configurare una Rete Blockchain Peer-to-Peer su Azure: Guida Passo-passo
Questa guida dettaglia la configurazione di una rete peer-to-peer Hyperledger Fabric a 2 nodi su Azure Blockchain Service (legacy/managed) usando PowerShell e Azure CLI. Nota: Azure Blockchain Service è stato ritirato a settembre 2021. Questo si applica a distribuzioni esistenti o Fabric autogestito su VM/AKS di Azure. Per nuovi progetti, usa **Azure Managed Applications for Quorum** o **AKS con Helm chart**.
Prerequisiti
- Sottoscrizione Azure, Gruppo di Risorse, 2 nodi Membro Blockchain (Node0, Node1) nello stesso consorzio.
- Azure CLI (`az`), PowerShell 7+, `configtx.yaml`, `crypto-config.yaml` dal portale di Azure.
- Binari Fabric (`configtxgen`, `peer`) nel PATH.
Passo 1: Configura Node0 (Orderer + Peer)
- Scarica i file di configurazione da Portale di Azure → Membro Blockchain → Proprietà → "Visualizza e scarica file di configurazione".
- Modifica `configtx.yaml`:
- `Orderer.Addresses`: `10.0.0.4:7050` (IP privato di Node0)
- `Application.Addresses`: `10.0.0.4:7051` (peer di Node0)
- Genera il blocso di genesi:
configtxgen -profile TwoOrgsOrdererGenesis -channelID P2PChannel1 -outputBlock genesisblock.pb -configPath . - Avvia i processi peer e orderer di Node0 (tramite servizi gestiti di Azure o Docker Compose su VM).
Passo 2: Configura Node1 (Solo Peer)
- Scarica i file di configurazione di Node1.
- Modifica `configtx.yaml`:
- `Orderer.Addresses`: `10.0.0.4:7050` (punta all'orderer di Node0)
- `Application.Addresses`: `10.0.0.5:7051` (peer di Node1)
- Genera lo stesso blocso di genesi (deve corrispondere esattamente a Node0).
- Avvia il processo peer di Node1.
Passo 3: Unisci Node1 al Canale
# Sul computer di Node1 export CORE_PEER_ADDRESS=10.0.0.5:7051 export CORE_PEER_MSPCONFIGPATH=/percorso/cripto/peerOrganizations/org2/users/Admin@org2/msp peer channel join -b genesisblock.pb -o 10.0.0.4:7050 --cafile /percorso/orderer/tls/ca.crt --tls Passo 4: Verifica la Rete
- Controlla `crypto-config.yaml`: Due peer org (Org1, Org2), ciascuna con Admin/User1-4. Un orderer org (OrdererOrg) con Admin.
- Verifica che gli indirizzi `Orderer` e `Application` corrispondano a `configtx.yaml`.
- Connettiti tramite Azure Cloud Shell:
az blockchain node connect --resource-group--blockchain-node peer chaincode list --installed # Ripeti per node1 - Entrambi i nodi mostrano gli stessi chaincode installati → Rete sana.
Alternativa Moderna Critica
Per nuove distribuzioni, **non usare questo servizio ritirato**. Invece:
- Hyperledger Fabric su AKS: Usa Fabric Operator o esempi Kube.
- Quorum (IBFT/Raft) su Azure: Modello Azure Quorum.
- Azure Confidential Ledger: Per un registro centrale, a prova di manomissione con TEE.
I passaggi sopra riflettono il flusso di lavoro del legacy Azure Blockchain Service. I concetti (blocso di genesi, unione al canale, configurazione crittografica, peer di ancoraggio) rimangono fondamentali per Fabric, ma la piattaforma gestita non esiste più.