Commit Graph

241 Commits

Author SHA1 Message Date
Richard Patel 5ee50a8bc3 fixtures: add merkle shreds
Change-Id: I4925f903d1a91e64a152cee15ad0ce0155c1d9cc
Reviewed-on: https://git.firedancer.io/c/radiance/+/309
2022-12-17 03:49:30 +00:00
Richard Patel a5fada037d compactindex: add binary search query strategy 2022-11-13 23:03:43 +01:00
Richard Patel dd5fa9a000 compactindex: simplify header, fix queries 2022-11-13 22:37:58 +01:00
Richard Patel 67404488a1 compactindex: document file format in README.md 2022-11-13 20:38:18 +01:00
Richard Patel fa4ccad82d compactindex: add README.md 2022-11-12 23:06:09 +00:00
Richard Patel 2352e044ee compactindex: add test 2022-11-12 23:06:09 +00:00
Richard Patel 33c8826b8c compactindex: add index builder 2022-11-12 23:06:09 +00:00
Richard Patel d3910780d5 compactindex: add initial format and query
- Adds compactindex file format
- Adds memory binary search query strategy
2022-11-12 23:06:09 +00:00
Leo 2a0c056310 cmd/quictpu: tx sending WIP 2022-11-11 23:52:39 +01:00
Leo 8e40390fbf cmd/quictpu: tx sending WIP 2022-11-11 20:37:29 +01:00
Leo 45883c17c5 cmd/quictpu: source port 2022-11-11 18:47:11 +01:00
Leo 2eae60aefc cmd/quictpu: ALPN 2022-11-11 18:34:19 +01:00
Richard Patel 62fc08148c bazel: install buildifier 2022-11-07 15:06:28 +00:00
Richard Patel 141be519a8 doc: add ledger-history.md 2022-10-31 11:36:26 +01:00
Richard Patel 928fefea9d ipld: simplify entry type 2022-10-31 11:36:15 +01:00
Richard Patel 180578ea85 car: add sanity checks to tests 2022-10-31 11:35:43 +01:00
Richard Patel d611c590c7 README.md: update and split install instructions to INSTALL.md 2022-10-30 08:32:54 +01:00
Richard Patel 2742cd8867 fix Go tests
- merkletree: fix broken test case
- fixtures: fix compatibility with Bazel
2022-10-30 08:19:30 +01:00
Richard Patel 4ddc64e2c0 bazel: add Go rules 2022-10-30 08:17:36 +01:00
Richard Patel 4976cfc518 bazel: build RocksDB with CMake
Also build grocksdb with `go_library`
2022-10-29 21:36:17 +02:00
Richard Patel 02d697c47e third_party: add Gazelle-generated Go module rules 2022-10-29 20:19:41 +02:00
Richard Patel bcf9eb553b genesis: fix test 2022-10-29 20:18:46 +02:00
Richard Patel 352517d3bb go.mod: upgrade golang.org packages 2022-10-29 20:18:46 +02:00
Richard Patel 582a566dc5 blockstore: don't depend on exp/constraints
Gazelle hates exp/constraints for some inexplicable reason.

> build aborted: no such package '@org_golang_x_exp//constraints': BUILD file not found in directory 'constraints' of external repository @org_golang_x_exp.
2022-10-29 20:18:46 +02:00
Richard Patel 98a105cbe0 third_party: add gflags v2.2.2, rocksdb v7.7.3 bazel repos 2022-10-29 20:18:46 +02:00
Richard Patel c38d2684df third_party: remove rocksdb submodule 2022-10-29 20:18:46 +02:00
Richard Patel 7be4ce9016 bazel: add rules_foreign_cc 0.9.0 2022-10-29 20:18:45 +02:00
Richard Patel bea73d4542 gitignore: add Bazel 2022-10-29 20:18:45 +02:00
Richard Patel 861d2a4aab go mod tidy 2022-10-29 20:18:45 +02:00
Richard Patel c78ee582ce bazel: add initial Gazelle integration
Gazelle is a build file generator for Go modules.
2022-10-29 20:18:45 +02:00
Richard Patel c6bbf95022 bazel: add Protobuf v3.21.9 2022-10-29 15:57:26 +02:00
Richard Patel 0e68fe6661 bazel: add Bazel v5.3.2, rules_go v0.35.0 with Go v1.19.2, Gazelle v0.28.0 2022-10-29 15:56:41 +02:00
Richard Patel ba4e9d4b0d radiance: add car dump command
Adds command to dump the first signature of all txs in a CAR.
2022-10-29 15:00:50 +02:00
Richard Patel fb579ba6fb cargen: add unit test
- Adds unit test running cargen over a fake blockstore.
- Covers the CAR splitting code path.
- Ensures resulting CARs decode and contain expected CIDs.
2022-10-29 14:35:09 +02:00
Richard Patel 56a7065d79 ipldgen: fix shredding serialization
Fixes regression in d4c1dfe1
2022-10-29 14:30:12 +02:00
Richard Patel a6f33dd77d cargen: bug fixes
- Fix last CAR not being flushed
- Fix wrong epoch number in file name
- Print error message in edge case where block exceeds CAR length (splitting fails)
2022-10-29 14:24:57 +02:00
Richard Patel 2f5954278c blockstore: simplify BlockWalkI.Entries()
Shredding is already implied by SlotMeta,
thus no need to return shreds and entries in the iterator.
2022-10-29 13:50:25 +02:00
Richard Patel 776c1e88f1 sort Go imports 2022-10-29 13:30:26 +02:00
Richard Patel b8c9810620 cargen: default to 32GB sectors, make it configurable 2022-10-29 13:29:19 +02:00
Richard Patel aafccecfcc car: add parsing unit test 2022-10-29 13:22:03 +02:00
Richard Patel 1f38306312 car: fix leb128 length estimation 2022-10-29 12:18:26 +02:00
Richard Patel d4c1dfe18c ipld: optimize entry schema
- use tuple CBOR representation
- use efficient entry/shred mapping
- remove RadianceLedger placeholder multicodec type
2022-10-28 20:51:11 +00:00
Richard Patel 2f1f467b3b generate.sh: fix go-ipldtool installation instructions 2022-10-28 20:33:08 +00:00
Richard Patel 77db1c0074 gitignore: add radiance binary 2022-10-28 20:32:38 +00:00
Richard Patel 8e6cbec8d2 radiance: only build car create if RocksDB enabled 2022-10-28 20:24:46 +00:00
Richard Patel 9a647f9aee cargen: use blockstore abstraction
Uses the blockstore.BlockWalkI abstraction introduced in 4644c3f
to decouple cargen from RocksDB.
2022-10-28 20:21:32 +00:00
Richard Patel 4644c3fa8e blockstore: split RocksDB-specific code into _rocks.go files
Splitting pure Go and Cgo code into separate Go files
allows other packages to depend on blockstore mocks.

This is useful for writing test scenarios for external
components that consume data from blockstore.
2022-10-28 18:31:15 +00:00
Richard Patel a739dd5879 poh: add mainnet block 0 and 1 tests 2022-10-20 01:02:47 +00:00
Richard Patel 724d252f6b go mod tidy 2022-10-20 01:02:47 +00:00
Richard Patel dc8246dcfd poh: move package from runtime/poh to poh, add tests 2022-10-20 01:02:47 +00:00