Skip to content

recordweb/root-resolver-testnet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RWP Root-Resolver — Fabric Testnetz (Spur A)

Hyperledger Fabric 2.5 Testnetz für die did:rwp Namespace-Registry. Kontext: RWP Kapitel 12.2 | Konzept: docs/root-resolver-fabric-concept.md

Zweck: Lernumgebung und Entwicklungsplattform für den Namespace-Registry-Chaincode. Kein Produktivbetrieb.

Struktur

fabric-root-resolver/ ├── network/ │ ├── configtx/ │ │ ├── crypto-config.yaml # Org-/Node-Definitionen für cryptogen │ │ └── configtx.yaml # Channel- und Policy-Konfiguration │ ├── docker-compose.yml # Fabric-Netzwerk (Orderer, Peers, CLI) │ ├── crypto-config/ # generiert, nicht eingecheckt (.gitignore) │ └── channel-artifacts/ # generiert, nicht eingecheckt (.gitignore) ├── scripts/ │ ├── 1_generate_crypto.sh # Kryptomaterial erzeugen │ ├── 2_generate_channel_artifacts.sh # Genesis Block erzeugen │ ├── 3_start_network.sh # Netzwerk starten │ ├── 4_create_channel.sh # Channel erstellen + Peers joinen │ ├── 5_verify_network.sh # Status prüfen │ └── 6_stop_network.sh # Netzwerk stoppen ├── chaincode/ │ └── README.md # Platzhalter → nächster Chat ├── docs/ │ └── architecture.md └── .github/workflows/deploy.yml

Voraussetzungen

  • Docker Engine ≥ 24 und Docker Compose Plugin
  • Kein lokales fabric-tools-Binary nötig — alle Befehle laufen im hyperledger/fabric-tools:2.5 Container
docker pull hyperledger/fabric-peer:2.5
docker pull hyperledger/fabric-orderer:2.5
docker pull hyperledger/fabric-tools:2.5

Netzwerk von Null aufbauen

cd /opt/fabric-root-resolver

Schritt 1 — Kryptomaterial generieren

bash scripts/1_generate_crypto.sh

Erzeugt network/crypto-config/ mit MSPs und TLS-Zertifikaten für:

  • OrdererOrg (orderer.orderer.recordweb.dev)
  • RecordWebOrg (peer0.recordweb.org)
  • SwissGovOrg (peer0.swissgov.recordweb.dev)

Schritt 2 — Channel-Artefakte generieren

bash scripts/2_generate_channel_artifacts.sh

Erzeugt network/channel-artifacts/genesis.block für den Channel root-resolver.

Schritt 3 — Netzwerk starten

bash scripts/3_start_network.sh

Startet Orderer, beide Peers und die CLI via Docker Compose.

Schritt 4 — Channel erstellen und Peers joinen

bash scripts/4_create_channel.sh

Erstellt den Channel root-resolver via Channel Participation API (osnadmin) und lässt beide Peers joinen.

Schritt 5 — Status prüfen

bash scripts/5_verify_network.sh

Erwartete Ausgabe:

  • Alle 4 Container laufen
  • Beide Peers listen den Channel root-resolver
  • Block Height: 1 (Genesis Block)

Netzwerk stoppen

bash scripts/6_stop_network.sh

Löscht alle Container und Volumes. crypto-config/ und channel-artifacts/ bleiben erhalten (Kommentar im Script entfernen zum Löschen).

Betrieb

Normale Code-Änderung

git commit -m ...
git push origin main

Erststart nach frischem Kon

  • Die ersten Script laufen automatisch
cd /opt/fabric-root-resolver
sudo -u deploy bash scripts/4_create_channel.sh
sudo -u deploy bash scripts/5_verify_network.sh

Kompletter Netzwerk-Reset

cd /opt/fabric-root-resolver

# Netzwerk stoppen und Volumes löschen
sudo -u deploy bash scripts/6_stop_network.sh

# Generierte Kryptomaterial- und Channel-Artefakte löschen
sudo rm -rf network/crypto-config
sudo rm -rf network/channel-artifacts

# Neuestes Repo holen (falls Änderungen an configtx.yaml etc. gemacht wurden)
sudo -u deploy git pull origin main

Danach neu pushen/deployen oder alles manuell:

cd /opt/fabric-root-resolver
sudo -u deploy bash scripts/1_generate_crypto.sh
sudo -u deploy bash scripts/2_generate_channel_artifacts.sh
sudo -u deploy bash scripts/3_start_network.sh
sudo -u deploy bash scripts/4_create_channel.sh
sudo -u deploy bash scripts/5_verify_network.sh

Orgs im Testnetz

Org MSP-ID Peer Port
RecordWebOrg RecordWebOrgMSP peer0.recordweb.org 7051
SwissGovOrg SwissGovOrgMSP peer0.swissgov.recordweb.dev 9051
OrdererOrg OrdererMSP orderer.orderer.recordweb.dev 7050

Nächster Schritt: Chaincode

→ Chaincode-Entwicklung, -Deploy und Namespace-Seed in separatem Chat. Platzhalter und Datenstruktur: chaincode/README.md

VPS-Deployment

GitHub Actions (.github/workflows/deploy.yml) deployed automatisch bei Push auf main. Voraussetzung: Secrets VPS_HOST, VPS_USER, VPS_SSH_KEY in GitHub-Repository-Settings. Repo-Pfad auf VPS: /opt/fabric-root-resolver

Beim ersten Deployment werden Kryptomaterial und Genesis Block automatisch erzeugt, falls network/crypto-config/ noch nicht existiert.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages