prysm-pulse/proto
Raul Jordan 6ec9d7e6e2
Utilize Indices for Key Lookup and Filtering Attestations in DB (#3202)
* begin indices approach

* use shard bucket

* continue the indices approach

* eliminate the filter checkers in favor of the single loop of root lookups

* elim extraneous println statement

* continue the indices approach

* intersection for multiple filter types works, but is complex, verbose, and nearly unreadable

* remove unused code

* table drive tests for byte slice intersections

* include all table driven tests

* gazelle imports

* better abstractions

* better comments

* variadic approach working

* transform to variadic

* comments

* comments

* separate bucket for indices for faster range scans

* attestation key as hash tree root of data and different indices buckets

* test pass

* default behavior without filter

* appropriate filter criterion errors if criterion does not apply to type

* better abstractions and prune keys on deletion

* better naming

* fix build

* fix build

* rem extraneous code
2019-08-15 19:57:43 -05:00
..
beacon Add Byte Slice Intersection Utils (#3204) 2019-08-14 10:27:18 -05:00
cluster format protos with prototool (#2462) 2019-05-01 12:14:21 -07:00
eth/v1alpha1 Utilize Indices for Key Lookup and Filtering Attestations in DB (#3202) 2019-08-15 19:57:43 -05:00
faucet Update All Our Documentation (#2012) 2019-03-17 16:30:46 -06:00
sharding/p2p/v1 Add Byte Slice Intersection Utils (#3204) 2019-08-14 10:27:18 -05:00
testing ssz network encoder (with snappy compression) (#3198) 2019-08-13 21:37:45 -04:00
BUILD.bazel Template based protobuf parameters for ssz configurations (#3062) 2019-07-24 22:03:05 -04:00
README.md switch ethereum 2.0 to ethereum serenity (#714) 2018-11-01 07:02:01 -04:00
ssz_proto_library.bzl Template based protobuf parameters for ssz configurations (#3062) 2019-07-24 22:03:05 -04:00

Ethereum Serenity Protocol Buffers

This package defines common protobuf messages and services used by Ethereum Serenity clients. Following the structure of:

proto/
  beacon/
    p2p/
      v1/
    rpc/
      v1/
  sharding/
    p2p/
      v1/
  testing/

We specify messages available for p2p communication common to beacon chain nodes and sharding clients.

For now, we are checking in all generated code to support native go dependency management. The generated pb.go files can be derived from bazel's bin directory.

For example, when we build the testing go proto library bazel build //proto/testing:ethereum_testing_go_proto there is a pb.go generated at bazel-bin/proto/testing/linux_amd64_stripped/ethereum_testing_go_proto\~/github.com/prysmaticlabs/prysm/proto/testing/test.pb.go. This generated file can be copied, or you can use you protoc locally if you prefer.