mirror of
https://gitlab.com/pulsechaincom/erigon-pulse.git
synced 2025-01-05 18:42:19 +00:00
e3f3dd3c9b
* Initial commit * Add sentry gRPC interface * p2psentry directory * Update README.md * Update README.md * Update README.md * Add go package * Correct syntax * add external downloader interface (#2) * Add txpool (#3) * Add private API (#4) * Invert control.proto, add PeerMinBlock, Separare incoming Tx message into a separate stream (#5) Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local> * Separate upload messages into its own stream (#6) Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local> * Only send changed accounts to listeners (#7) * Txpool interface doc (#9) * Add architecture diagram source and picture (#10) * Typed hashes (#11) * Typed hashes * Fix PeerId * 64-bit tx nonce * Add proper golang packages, max_block into p2p sentry Status (#12) * Add proper golang packages, max_block into p2p sentry Status * Change EtherReply to address Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local> * Add Rust infrastructure (#13) * DB stats methods removed by https://github.com/ledgerwatch/turbo-geth/pull/1665 * more p2p methods (#15) * add mining methods (#16) * First draft of Consensus gRPC interface (#14) * Update Rust build * Fix interfaces in architecture diagram (#17) * Fix KV interface provider * Fix Consensus interface provider * drop java attributes (#18) * tx pool remove unused import (#19) * ethbackend: add protocol version and client version (#20) * Add missing ethbackend I/F (#21) * Add interface versioning mechanism (#23) Add versioning in KV interface Co-authored-by: Artem Vorotnikov <artem@vorotnikov.me> * spec of tx pool method (#24) * spec of tx pool method (#25) * Update version.proto * Refactor interface versioning * Refactor interface versioning * Testing interface * Remove tree * Fix * Build testing protos * Fix * Fix * Update to the newer interfaces * Add ProtocolVersion and ClientVersion stubs * Hook up ProtocolVersion and ClientVersion * Remove service * Add compatibility checks for RPC daemon * Fix typos * Properly update DB schema version * Fix test * Add test for KV compatibility| * Info messages about compability for RPC daemon * DB schema version to be one key * Update release intructions Co-authored-by: Artem Vorotnikov <artem@vorotnikov.me> Co-authored-by: b00ris <b00ris@mail.ru> Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local> Co-authored-by: lightclient <14004106+lightclient@users.noreply.github.com> Co-authored-by: canepat <16927169+canepat@users.noreply.github.com> Co-authored-by: Alex Sharov <AskAlexSharov@gmail.com> Co-authored-by: canepat <tullio.canepa@gmail.com> Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
69 lines
1.6 KiB
Protocol Buffer
69 lines
1.6 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
import "google/protobuf/empty.proto";
|
|
import "types/types.proto";
|
|
|
|
// This is the Service Interface Version: change these numbers according to semver rules
|
|
// anytime the service-level protocol changes (e.g. string or bytes format). Such version
|
|
// cannot change at runtime during service execution.
|
|
//
|
|
// Examples of how to change version (M.m.p) for the KV protocol are:
|
|
// 1. bump M obtaining (M+1.m.p) when
|
|
// - changing table name i.e. bucketName field in Cursor
|
|
// - changing key/value format i.e. k, v fields in Pair
|
|
// 2. bump m obtaining (M.m+1.p) when
|
|
// - adding new table name i.e. bucketName field in Cursor
|
|
// 3. bump p obtaining (M.m.p+1) when
|
|
// - correcting wrong data in value i.e. v field in Pair
|
|
option (types.service_major_version) = 1;
|
|
option (types.service_minor_version) = 0;
|
|
option (types.service_patch_version) = 0;
|
|
|
|
package remote;
|
|
|
|
option go_package = "./remote;remote";
|
|
|
|
// Provides methods to access key-value data
|
|
service KV {
|
|
// Version returns the service version number
|
|
rpc Version(google.protobuf.Empty) returns (types.VersionReply);
|
|
|
|
// Tx exposes read-only transactions for the key-value store
|
|
rpc Tx(stream Cursor) returns (stream Pair);
|
|
}
|
|
|
|
enum Op {
|
|
FIRST = 0;
|
|
FIRST_DUP = 1;
|
|
SEEK = 2;
|
|
SEEK_BOTH = 3;
|
|
CURRENT = 4;
|
|
LAST = 6;
|
|
LAST_DUP = 7;
|
|
NEXT = 8;
|
|
NEXT_DUP = 9;
|
|
NEXT_NO_DUP = 11;
|
|
PREV = 12;
|
|
PREV_DUP = 13;
|
|
PREV_NO_DUP = 14;
|
|
SEEK_EXACT = 15;
|
|
SEEK_BOTH_EXACT = 16;
|
|
|
|
OPEN = 30;
|
|
CLOSE = 31;
|
|
}
|
|
|
|
message Cursor {
|
|
Op op = 1;
|
|
string bucketName = 2;
|
|
uint32 cursor = 3;
|
|
bytes k = 4;
|
|
bytes v = 5;
|
|
}
|
|
|
|
message Pair {
|
|
bytes k = 1;
|
|
bytes v = 2;
|
|
uint32 cursorID = 3;
|
|
}
|