• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

hyperledger / fabric-x-committer / 23547454108
91%

Build:
DEFAULT BRANCH: main
Ran 25 Mar 2026 02:59PM UTC
Jobs 2
Files 123
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

25 Mar 2026 02:53PM UTC coverage: 91.461% (+0.8%) from 90.676%
23547454108

push

github

web-flow
[bft-delivery] BFT delivery (#427)

#### Type of change

- New feature
- Improvement (improvement to code, performance, etc)
- Breaking change
 
#### Description

**[BFT block delivery]**
- Introduce BFT (Byzantine Fault Tolerant) block delivery with block
withholding detection
- Use only the config block as the initialization mechanism (no separate
bootstrap config)
- Split the delivery package into 3:
- `deliver` (core library) - provides `ToQueue()` method for streaming
blocks to Go channels
- `deliverorderer` (BFT delivery from orderer) - implements
fault-tolerant delivery with verification and block withholding
detection
- `delivercommitter` (delivery from sidecar/ledger) - implements
delivery from peer ledger service (instead of `sidecarclient`)
- Replace the "client" notation with `ToQueue()` method that delivers to
a channel
- Move the `NewBroadcastStream()` method to loadgen package
(`loadgen/adapters/broadcast.go`) as it is the main use case for it

**[Test ENV]**
- Introduce a common `OrdererTestEnv` in `mock/test_exports.go` that
prepares the orderer and artifacts for tests
- Use it everywhere the Orderer is used for testing
- `MockOrderer` now receives `ArtifactsPath` instead of
`ConfigBlockPath` to support signing the blocks

**[ordererconn]**
- `LoadConfigBlock()/LoadConfigBlockFromFile()` now returns
`ConfigBlockMaterial` which includes:
  - Channel ID
  - Config block
  - Bundle
  - Orderer organizations with endpoints and CAs
  - Application organizations with CAs
- Remove connection manager (`conn_manager.go`) and replace with
`ConnectionMaterial` struct
- Add `OrdererConnectionMaterial()` method which returns
`connection.ClientMaterial` instances to connect to the orderer
- Add comprehensive tests: `config_test.go`, `identity_test.go`,
`load_test.go`

**[connection]**
- Introduce `ClientMaterial` struct for connection configuration without
YAML config:
  - Contains `Endpoints`, `TLS`, and `Retry` fields
  - Factory method `NewClien... (continued)

866 of 937 new or added lines in 23 files covered. (92.42%)

26 existing lines in 7 files now uncovered.

10036 of 10973 relevant lines covered (91.46%)

41252.77 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
95.74
5.36% loadgen/adapters/orderer.go
1
97.56
utils/ordererdial/material.go
2
78.63
-0.41% utils/connection/server_util.go
2
74.47
3.04% utils/connection/tls.go
2
97.33
utils/deliver/delivery.go
2
80.33
-0.44% utils/utils.go
4
86.41
-2.65% utils/connection/client_util.go
4
87.1
utils/deliverorderer/config.go
6
97.71
utils/deliverorderer/orderer.go
8
95.09
utils/deliverorderer/verify.go
10
78.26
utils/deliverorderer/orderer_no_ft.go
14
85.45
2.88% service/sidecar/sidecar.go
15
86.24
loadgen/adapters/broadcast.go

Uncovered Existing Lines

Lines Coverage ∆ File
1
79.69
-1.56% loadgen/adapters/vcservice.go
2
97.87
0.0% service/verifier/verifier_server.go
2
96.63
-2.25% mock/sigverifier.go
2
94.95
1.83% service/coordinator/signature_verifier_manager.go
3
86.41
-2.65% utils/connection/client_util.go
6
82.7
-1.62% service/vc/database.go
10
59.66
-8.4% service/sidecar/block_delivery.go
Jobs
ID Job ID Ran Files Coverage
1 unit-test - 23547454108.1 25 Mar 2026 02:59PM UTC 79
75.27
GitHub Action Run
2 db-test - 23547454108.2 25 Mar 2026 02:59PM UTC 123
84.7
GitHub Action Run
Source Files on build 23547454108
  • Tree
  • List 123
  • Changed 29
  • Source Changed 0
  • Coverage Changed 29
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 53a16aac on github
  • Prev Build on main (#23533082216)
  • Next Build on main (#23579582102)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc