Documentation ¶
Index ¶
- Constants
- func DecodeSliceOfByteSliceWithLimit(d *scale.Decoder, outerLimit, innerLimit uint32) ([][]byte, int, error)
- func FiatShamir(challenge []byte, spaceSize uint64, securityParam uint8) map[uint64]bool
- func MakeLabelFunc() func(hash LabelHash, labelID uint64, leftSiblings [][]byte) []byte
- type LabelHash
- type MerkleProof
Constants ¶
View Source
const ( // T is the security param which determines the number of leaves // to be included in a non-interactive proof. T uint8 = 150 // OwnerReadWrite is a standard owner read / write file permission. OwnerReadWrite = os.FileMode(0o600) )
Variables ¶
This section is empty.
Functions ¶
func DecodeSliceOfByteSliceWithLimit ¶ added in v0.6.6
func FiatShamir ¶
FiatShamir generates a set of indices to include in a non-interactive proof.
func MakeLabelFunc ¶ added in v0.2.0
MakeLabelFunc returns a function which generates a PoET DAG label by concatenating a representation of the labelID with the list of left siblings and then hashing the result using the provided hash function.
⚠️ The resulting function is NOT thread-safe, however different generated instances are independent. The code is optimized for performance and memory allocations.
Types ¶
type MerkleProof ¶
type MerkleProof struct { Root []byte `scale:"max=32"` ProvenLeaves [][]byte `scale:"max=150"` // the max. size of this slice is T (security param), and each element is exactly 32 bytes ProofNodes [][]byte `scale:"max=5400"` // 36 nodes per leaf and each node is exactly 32 bytes }
MerkleProof is a non-interactive proof of inclusion in a Merkle tree. Scale encoding is implemented by hand to be able to limit [][]byte slices to a maximum size (inner and outer slices).
func (*MerkleProof) DecodeScale ¶ added in v0.2.0
func (t *MerkleProof) DecodeScale(dec *scale.Decoder) (total int, err error)
func (*MerkleProof) EncodeScale ¶ added in v0.2.0
func (t *MerkleProof) EncodeScale(enc *scale.Encoder) (total int, err error)
Click to show internal directories.
Click to hide internal directories.