You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Feb 8, 2023. It is now read-only.
We need to construct the necessary data types before we start making any tooling around it. The types
The SYNTAX of the "merkldag DSL" is still TBD (#22), but for now using go-like
first, some types we need
// Any is any merkledag NodetypeIdentitystruct {
KeySigningKey// link to a signing keyDatastruct {
Namestring// the "name" of the identity
}
}
typeAuthorshipstruct {
AuthorIdentityDatastruct {
Datestring// ISO timestamp in UTC?
}
}
typeSignaturestruct {
ObjectAny// link to the signed objectKeySigningKey// link to the signing keyDatastruct {
Signature []byte// the signature bytes
}
}
// generic type that terminates in a certain other leaf typetypeTree<LEAF_TYPE>struct {
NAMELink<Tree|LEAF_TYPE>...
}
the versioning data types
typeCommitstruct {
Parents []Commit// "parent0" ... "parentN"AuthorAuthorship// link to an AuthorshipCommitterAuthorship// link to an AuthorshipObjectAny// what we version ("tree" in git)Datastruct {
CommentString// describes the commit
}
}
typeVersionRepositorystruct {
RefsTree<Commit>// hierarchy of {branches, tags, heads, remotes, ... }LogsTree<File>// reflogs, etc... (maybe should be other than files...)
}