Skip to content

Commit 59fe1a2

Browse files
authored
Merge branch 'main' into java-chincode
2 parents b3dc1d0 + 4b5eedb commit 59fe1a2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+1348
-438
lines changed

.github/workflows/test-on-push.yml

Lines changed: 27 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,15 @@ jobs:
2121
./fablo-build.sh
2222
2323
- name: Test simple network
24-
run: e2e-network/docker/test-01-simple.sh
24+
run: e2e-network/docker/test-01-v2-simple.sh
2525

2626
- uses: actions/upload-artifact@v4
2727
if: always()
2828
with:
2929
name: test-main
3030
path: |
31-
e2e-network/docker/test-01-simple.sh.logs/*
32-
e2e-network/docker/test-01-simple.sh.tmpdir/fablo-target/**/*
31+
e2e-network/docker/test-01-v2-simple.sh.logs/*
32+
e2e-network/docker/test-01-v2-simple.sh.tmpdir/fablo-target/**/*
3333
3434
- name: Test generators
3535
run: |
@@ -40,7 +40,6 @@ jobs:
4040
- name: Lint
4141
run: npm run lint && ./lint.sh
4242

43-
4443
# test-k8:
4544
# needs: test-main
4645
# runs-on: ubuntu-latest
@@ -111,15 +110,15 @@ jobs:
111110
./fablo-build.sh
112111
113112
- name: Test RAFT network
114-
run: e2e-network/docker/test-02-raft-2orgs.sh
113+
run: e2e-network/docker/test-02-v2-raft-2orgs.sh
115114

116115
- uses: actions/upload-artifact@v4
117116
if: always()
118117
with:
119118
name: test-02-raft
120119
path: |
121-
e2e-network/docker/test-02-raft.sh.logs/*
122-
e2e-network/docker/test-02-raft.sh.tmpdir/fablo-target/**/*
120+
e2e-network/docker/test-02-v2-raft-2orgs.sh.logs/*
121+
e2e-network/docker/test-02-v2-raft-2orgs.sh.tmpdir/fablo-target/**/*
123122
124123
test-03-private-data:
125124
needs: test-main
@@ -136,15 +135,15 @@ jobs:
136135
./fablo-build.sh
137136
138137
- name: Test private data
139-
run: e2e-network/docker/test-03-private-data.sh
138+
run: e2e-network/docker/test-03-v2-private-data.sh
140139

141140
- uses: actions/upload-artifact@v4
142141
if: always()
143142
with:
144143
name: test-03-private-data
145144
path: |
146-
e2e-network/docker/test-03-private-data.sh.logs/*
147-
e2e-network/docker/test-03-private-data.sh.tmpdir/fablo-target/**/*
145+
e2e-network/docker/test-03-v2-private-data.sh.logs/*
146+
e2e-network/docker/test-03-v2-private-data.sh.tmpdir/fablo-target/**/*
148147
149148
test-04-snapshot:
150149
needs: test-main
@@ -161,27 +160,27 @@ jobs:
161160
./fablo-build.sh
162161
163162
- name: Test snapshots
164-
run: e2e-network/docker/test-04-snapshot.sh
163+
run: e2e-network/docker/test-04-v2-snapshot.sh
165164

166165
- uses: actions/upload-artifact@v4
167166
if: always()
168167
with:
169168
name: test-04-snapshot
170169
path: |
171-
e2e-network/docker/test-04-snapshot.sh.logs/*
172-
e2e-network/docker/test-04-snapshot.sh.tmpdir/fablo-target/**/*
173-
170+
e2e-network/docker/test-04-v2-snapshot.sh.logs/*
171+
e2e-network/docker/test-04-v2-snapshot.sh.tmpdir/fablo-target/**/*
172+
174173
test-05-v3:
175174
needs: test-main
176-
runs-on: macos-15
175+
runs-on: macos-15
177176
steps:
178177
- name: Check out repository code
179178
uses: actions/checkout@v2
180-
179+
181180
- name: Install Docker + Colima
182181
run: |
183182
brew update
184-
brew install qemu colima docker
183+
brew install qemu colima docker
185184
brew uninstall --ignore-dependencies lima
186185
curl https://raw.githubusercontent.com/Homebrew/homebrew-core/45464b6c4788a80be3f131ab5e2a4468cdfa960c/Formula/l/lima.rb > lima.rb
187186
brew install lima.rb
@@ -199,48 +198,45 @@ jobs:
199198
npm install -g npm@latest
200199
npm install
201200
202-
203201
- name: Build Fablo
204202
run: |
205203
shellcheck --version && \
206204
yamllint -v && \
207205
npm install && \
208206
./fablo-build.sh
209-
207+
210208
- name: Test version 3
211-
run: e2e-network/docker/test-05-version3.sh
212-
209+
run: e2e-network/docker/test-05-v3.sh
210+
213211
- uses: actions/upload-artifact@v4
214212
if: always()
215213
with:
216214
name: test-05-version3
217215
path: |
218-
e2e-network/docker/test-05-version3-snapshot.sh.logs/*
219-
e2e-network/docker/test-05-version3-snapshot.sh.tmpdir/fablo-target/**/*
216+
e2e-network/docker/test-05-v3.sh.logs/*
217+
e2e-network/docker/test-05-v3.sh.tmpdir/fablo-target/**/*
220218
221219
test-05-v3-BFT:
222220
needs: test-main
223221
runs-on: ubuntu-latest
224222
steps:
225223
- name: Check out repository code
226224
uses: actions/checkout@v2
227-
225+
228226
- name: Build Fablo
229227
run: |
230228
shellcheck --version && \
231229
yamllint -v && \
232230
npm install && \
233231
./fablo-build.sh
234-
232+
235233
- name: Test version 3 with BFT
236-
run: e2e-network/docker/test-05-version3-BFT.sh
237-
234+
run: e2e-network/docker/test-06-v3-bft.sh
235+
238236
- uses: actions/upload-artifact@v4
239237
if: always()
240238
with:
241239
name: test-05-version3-BFT-snapshot
242240
path: |
243-
e2e-network/docker/test-05-version3-BFT-snapshot.sh.logs/*
244-
e2e-network/docker/test-05-version3-BFT-snapshot.sh.tmpdir/fablo-target/**/*
245-
246-
241+
e2e-network/docker/test-06-v3-bft.sh.logs/*
242+
e2e-network/docker/test-06-v3-bft.sh.tmpdir/fablo-target/**/*

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@
55
[#554](https://github.com/hyperledger-labs/fablo/pull/554)
66
* Publish sample chaincode Docker image
77
[#555](https://github.com/hyperledger-labs/fablo/pull/555)
8+
* Include and test Sample Go chaincode in samples/chaincodes/chaincode-kv-go
9+
[#569](https://github.com/hyperledger-labs/fablo/pull/569)
10+
* Export network topology with Mermaid
11+
[#565](https://github.com/hyperledger-labs/fablo/pull/565)
812

913
## 2.2.0
1014

COVERAGE_TRACKER.md

Lines changed: 57 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -1,95 +1,67 @@
1-
# 🧪 Fablo Feature Coverage Tracker
1+
# Supported features
22

3-
This document tracks the progress of testing and documenting Fablo features across different Fabric versions.
4-
5-
Legend:
6-
❔ = unknown status <br>
7-
✅ = completed
8-
❌ = not done
9-
🔄 = in progress
10-
🔗 = link to related issue/todo
11-
12-
---
13-
14-
## Network Topology
15-
16-
| Feature | Fabric v2 | Fabric v3 | Tested | Documented | Todo / Issue |
17-
|----------------------------------|-----------|-----------|--------|-------------|----------------------|
18-
| Solo Consensus ||||| [#TODO](#) |
19-
| RAFT Consensus ||||| [#TODO](#) |
20-
| BFT Consensus ||||| [#TODO](#) |
21-
| TLS ||||| |
22-
| Orderer Groups ||||| [#TODO](#) |
23-
| Peer DB - LevelDB ||||| |
24-
| Peer DB - CouchDB ||||| |
25-
| CA DB - SQLite ||||| |
26-
| CA DB - Postgres ||||| [#TODO](#) |
27-
| CA DB - MySQL ||||| [#TODO](#) |
28-
29-
---
30-
31-
## Channels
32-
33-
| Feature | Fabric v2 | Fabric v3 | Tested | Documented | Todo / Issue |
34-
|-------------------------|-----------|-----------|--------|-------------|----------------------|
35-
| Channel query scripts ||||| |
36-
37-
---
38-
39-
## Chaincodes
40-
41-
| Feature | Fabric v2 | Fabric v3 | Tested | Documented | Todo / Issue |
42-
|-----------------------------------|-----------|-----------|--------|-------------|----------------------|
43-
| Node ||||| |
44-
| Go ||||| |
45-
| Java ||||| [#TODO](#) |
46-
| Chaincode-as-a-Service (CCaaS) ||||| |
47-
| Endorsement Policies ||||| |
48-
| Multi-org Endorsements ||||| |
49-
| Private Data Collections ||||| |
50-
| Chaincode scripts (list/query/invoke) ||||| |
51-
| Commands: install / upgrade ||||| |
52-
53-
---
54-
55-
## Tools
56-
57-
| Feature | Fabric v2 | Fabric v3 | Tested | Documented | Todo / Issue |
58-
|---------------|-----------|-----------|--------|-------------|----------------------|
59-
| Fablo REST ||||| |
60-
| Explorer ||||| [#TODO](#) |
3+
This document provides an overview of Fablo features. The table below tracks feature compatibility across different Fabric versions, testing status, documentation coverage, and links to relevant issues for ongoing development work.
614

625
---
636

64-
## Fablo Commands
65-
66-
| Feature | Fabric v2 | Fabric v3 | Tested | Documented | Todo / Issue |
67-
|----------------------------------------|-----------|-----------|--------|-------------|----------------------|
68-
| `generate` ||||| |
69-
| `up`, `start`, `stop`, `down`, `reset`, `recreate` ||||| |
70-
| `validate`, `extendConfig` ||||| |
71-
| `update`, `version` ||||| |
72-
| `init` (node, rest, dev) ||||| |
73-
| Other init options ||||| [#TODO](#) |
7+
| Feature | Fabric v2 | Fabric v3 | Documented | CI tests | Relevant issues |
8+
|----------------------------------------|-----------|-----------|------------|----------|-----------------|
9+
| <br>**NETWORK CONFIGURATION** | | | | | |
10+
| RAFT Consensus |||| | |
11+
| BFT Consensus | - ||| [05_v3](/e2e-network/docker/test-06-v3-bft.sh) | [#559](https://github.com/hyperledger-labs/fablo/issues/559) |
12+
| TLS |||| | |
13+
| Orderer Groups |||| | [#560](https://github.com/hyperledger-labs/fablo/issues/560) |
14+
| Peer DB - LevelDB |||| | |
15+
| Peer DB - CouchDB |||| | |
16+
| CA DB - SQLite |||| | |
17+
| CA DB - Postgres |||| | |
18+
| CA DB - MySQL |||| | [#561](https://github.com/hyperledger-labs/fablo/issues/561) |
19+
| <br>**CHANNELS** | | | | | |
20+
| Channel query scripts ||| | | |
21+
| <br>**CHAINCODES** | | | | | |
22+
| Node ||| | | |
23+
| Go ||| | | |
24+
| Java ||| | | |
25+
| Chaincode-as-a-Service (CCaaS) ||| | | |
26+
| Endorsement Policies ||| | | |
27+
| Multi-org Endorsements ||| | | |
28+
| Private Data Collections ||| | | |
29+
| Chaincode scripts (list/query/invoke) ||| | | |
30+
| Commands: install / upgrade ||| | | |
31+
| <br>**TOOLS** | | | | | |
32+
| Fablo REST ||| | | |
33+
| Explorer ||| | | |
34+
| <br>**FABLO COMMANDS** | | | | | |
35+
| `generate` |||| | |
36+
| `up` |||| | |
37+
| `start`, `stop`, `restart` |||| | |
38+
| `down`, `reset` |||| | |
39+
| `prune`, `recreate` |||| | |
40+
| `validate`, `extend-config` |||| | |
41+
| `version` |||| | |
42+
| `init` (node, rest, dev) |||| | |
43+
| `export-network-topology` to Mermaid |||| | |
44+
| Other `init` options | | | | | [#444](https://github.com/hyperledger-labs/fablo/issues/444) |
45+
| <br>**SNAPSHOT** | | | | | |
46+
| Create snapshot |||| | |
47+
| Restore snapshot |||| | |
48+
| Post-start hook | | | | | [#111](https://github.com/hyperledger-labs/fablo/issues/111) |
49+
| <br>**OTHER FEATURES** | | | | | |
50+
| Peer dev mode |||| | [#472](https://github.com/hyperledger-labs/fablo/issues/472) |
51+
| Connection profiles |||| | |
52+
| Gateway client | | | | | [#544](https://github.com/hyperledger-labs/fablo/pull/544) |
53+
| Hooks: post-generate |||| | |
54+
| JSON/YAML support |||| | |
7455

7556
---
7657

77-
## Snapshot
58+
**Supported Fabric versions:**
7859

79-
| Feature | Fabric v2 | Fabric v3 | Tested | Documented | Todo / Issue |
80-
|------------------------|-----------|-----------|--------|-------------|----------------------|
81-
| Create snapshot ||||| |
82-
| Restore snapshot ||||| |
83-
| Post-restore hook ||||| [#TODO](#) |
84-
85-
---
60+
Fabric v2 = 2.5.12<br>
61+
Fabric v3 = 3.0.0
8662

87-
## Other Features
63+
**Legend:**
8864

89-
| Feature | Fabric v2 | Fabric v3 | Tested | Documented | Todo / Issue |
90-
|------------------------|-----------|-----------|--------|-------------|----------------------|
91-
| Peer dev mode ||||| |
92-
| Connection profiles ||||| |
93-
| Gateway client ||||| |
94-
| Hooks: post-generate ||||| |
95-
| JSON/YAML support ||||| |
65+
✓ = supported<br>
66+
✕ = not supported<br>
67+
<span>-</span> = not applicable

README.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,30 @@ fablo validate [/path/to/fablo-config.json|yaml]
151151
Validates network config. This command will validate your network config try to suggest necessary changes or additional tweaks.
152152
Please note that this step is also executed automatically before each `generate` to ensure that at least critical errors where fixed.
153153
154+
### export-network-topology
155+
156+
```bash
157+
fablo export-network-topology [/path/to/fablo-config.json] [outputFile.mmd]
158+
159+
```
160+
- `outputFile.mmd`: (optional) Path to the output Mermaid file. Defaults to `network-topology.mmd`.
161+
162+
#### Example
163+
164+
```bash
165+
fablo export-network-topology fablo-config.json network-topology.mmd
166+
```
167+
168+
You can visualize the output using any Mermaid-compatible tool or online editor.
169+
170+
### extend-config
171+
172+
```bash
173+
fablo extend-config [/path/to/fablo-config.json|yaml]
174+
```
175+
176+
Generates an extended version of the Fablo config by filling in default and computed values based on the provided configuration file and making some config parts more verbos.
177+
154178
### snapshot and restore
155179
156180
Fablo supports saving state snapshot (backup) of the network and restoring it.

0 commit comments

Comments
 (0)