@blinklabs/dingo 0.35.2 → 0.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +33 -0
- package/RELEASE_NOTES.md +65 -0
- package/package.json +1 -1
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# CLAUDE.md
|
|
2
|
+
|
|
3
|
+
Go-based Cardano node implementing Ouroboros. Most of what you need is derivable from code (`Makefile`, `go.mod`, `node.go`, `dingo.yaml.example`). Below is what isn't.
|
|
4
|
+
|
|
5
|
+
## Testing rules
|
|
6
|
+
|
|
7
|
+
- **Never use `time.Sleep()` for synchronization.** Use helpers in `internal/test/testutil/`:
|
|
8
|
+
- `WaitForCondition` / `require.Eventually` for polling (2–5s timeout, 5–10ms interval, lock shared state inside the condition fn)
|
|
9
|
+
- `RequireReceive` / `RequireNoReceive` for channel assertions
|
|
10
|
+
- `context.WithTimeout` for graceful shutdown — not sleep
|
|
11
|
+
- Race detection is on by default in `make test`.
|
|
12
|
+
- Integration tests in `internal/integration/` load real blocks from `database/immutable/testdata/`.
|
|
13
|
+
|
|
14
|
+
## Before committing
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
golangci-lint run ./... # .golangci.yml configured
|
|
18
|
+
nilaway ./...
|
|
19
|
+
modernize ./... # --fix to auto-apply
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Non-obvious architecture
|
|
23
|
+
|
|
24
|
+
- **CBOR offset storage**: UTxOs/txs store 52-byte `CborOffset` refs (magic `"DOFF"`, slot, hash, offset, length), not full CBOR. Resolved via `TieredCborCache` (hot → block LRU → cold extract from blob store). See `database/cbor_offset.go`, `database/cbor_cache.go`, `database/block_indexer.go`.
|
|
25
|
+
- **Plugins** (`database/plugin/`): blob = `badger` (default) / `gcs` / `s3`; metadata = `sqlite` (default) / `mysql` / `postgres`.
|
|
26
|
+
- **Event bus**: components communicate via `event.EventBus.SubscribeFunc()`, not direct calls.
|
|
27
|
+
|
|
28
|
+
## Profiling
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
./dingo --cpuprofile=cpu.prof --memprofile=mem.prof load database/immutable/testdata
|
|
32
|
+
go tool pprof cpu.prof
|
|
33
|
+
```
|
package/RELEASE_NOTES.md
CHANGED
|
@@ -1,6 +1,71 @@
|
|
|
1
1
|
# Release Notes
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
## v0.35.3 (April 19, 2026)
|
|
5
|
+
|
|
6
|
+
**Title:** Improve peer sharing compatibility
|
|
7
|
+
|
|
8
|
+
**Date:** April 19, 2026
|
|
9
|
+
|
|
10
|
+
**Version:** v0.35.3
|
|
11
|
+
|
|
12
|
+
Hi folks! Here’s what we shipped in v0.35.3.
|
|
13
|
+
|
|
14
|
+
### ✨ What's New
|
|
15
|
+
|
|
16
|
+
* Noted **no new features:** This patch focuses on improvements and fixes.
|
|
17
|
+
|
|
18
|
+
### 💪 Improvements
|
|
19
|
+
|
|
20
|
+
* Refined **release history continuity:** RELEASE_NOTES.md now stays up to date, so recent changes are easier to scan in one place.
|
|
21
|
+
|
|
22
|
+
### 🔧 Fixes
|
|
23
|
+
|
|
24
|
+
* Corrected **safer peer sharing behavior:** Dingo now avoids asking peers to share more peers when they do not offer that capability, so connections stay steadier and compatibility is smoother across mixed peer setups.
|
|
25
|
+
|
|
26
|
+
### 📋 What You Need to Know
|
|
27
|
+
|
|
28
|
+
* Simplified **upgrade guidance:** Most users only need to upgrade to v0.35.3, and peer sharing now behaves more safely with peers that do not advertise sharing.
|
|
29
|
+
|
|
30
|
+
### 🙏 Thank You
|
|
31
|
+
|
|
32
|
+
Thank you for trying!
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## v0.35.2 (April 18, 2026)
|
|
37
|
+
|
|
38
|
+
**Title:** Safer era forecasts and refreshed dependencies
|
|
39
|
+
|
|
40
|
+
**Date:** April 18, 2026
|
|
41
|
+
|
|
42
|
+
**Version:** v0.35.2
|
|
43
|
+
|
|
44
|
+
Hi folks! Here’s what we shipped in v0.35.2.
|
|
45
|
+
|
|
46
|
+
### ✨ What's New
|
|
47
|
+
|
|
48
|
+
* Noted **no new features:** This patch focuses on improvements and fixes.
|
|
49
|
+
|
|
50
|
+
### 💪 Improvements
|
|
51
|
+
|
|
52
|
+
* Improved **protocol library compatibility:** Dingo now uses gouroboros v0.165.1 to stay current with upstream protocol library updates.
|
|
53
|
+
|
|
54
|
+
### 🔧 Fixes
|
|
55
|
+
|
|
56
|
+
* Corrected **safer era forecasts:** Hard fork era history now stays within the safe forecast horizon, so slot and time lookups do not promise certainty too far past the current ledger tip.
|
|
57
|
+
* Restored **release history continuity:** The changelog now includes the v0.35.1 entry so recent release history stays complete and easier to scan.
|
|
58
|
+
|
|
59
|
+
### 📋 What You Need to Know
|
|
60
|
+
|
|
61
|
+
* Simplified **upgrade guidance:** No action is required for most users, and upgrading to v0.35.2 is sufficient.
|
|
62
|
+
|
|
63
|
+
### 🙏 Thank You
|
|
64
|
+
|
|
65
|
+
Thank you for trying!
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
4
69
|
## v0.35.1 (April 17, 2026)
|
|
5
70
|
|
|
6
71
|
**Title:** Steadier peers and faster schedule calculations
|