mirror of
https://github.com/libp2p/go-libp2p-core.git
synced 2025-01-16 02:40:08 +08:00
31 lines
1018 B
Protocol Buffer
31 lines
1018 B
Protocol Buffer
|
syntax = "proto3";
|
||
|
|
||
|
package record.pb;
|
||
|
|
||
|
import "crypto/pb/crypto.proto";
|
||
|
|
||
|
// Envelope encloses a signed payload produced by a peer, along with the public
|
||
|
// key of the keypair it was signed with so that it can be statelessly validated
|
||
|
// by the receiver.
|
||
|
//
|
||
|
// The payload is prefixed with a byte string that determines the type, so it
|
||
|
// can be deserialized deterministically. Often, this byte string is a
|
||
|
// multicodec.
|
||
|
message Envelope {
|
||
|
// public_key is the public key of the keypair the enclosed payload was
|
||
|
// signed with.
|
||
|
crypto.pb.PublicKey public_key = 1;
|
||
|
|
||
|
// payload_type encodes the type of payload, so that it can be deserialized
|
||
|
// deterministically.
|
||
|
bytes payload_type = 2;
|
||
|
|
||
|
// payload is the actual payload carried inside this envelope.
|
||
|
bytes payload = 3;
|
||
|
|
||
|
// signature is the signature produced by the private key corresponding to
|
||
|
// the enclosed public key, over the payload, prefixing a domain string for
|
||
|
// additional security.
|
||
|
bytes signature = 5;
|
||
|
}
|