pub fn create<T, S, G>(
    storage: &S,
    signer: &G,
    resource: Option<Oid>,
    related: Vec<Oid>,
    identifier: &PublicKey,
    args: Create
) -> Result<CollaborativeObject<T>, Create>
where T: Evaluate<S>, S: Store, G: Signer,
Expand description

Create a new CollaborativeObject.

The storage is the backing storage for storing crate::Entrys at content-addressable locations. Please see Store for further information.

The signer is expected to be a cryptographic signing key. This ensures that the objects origin is cryptographically verifiable.

The resource is the parent of this object, for example a software project. Its content-address is stored in the object’s history.

The identifier is a unqiue id that is passed through to the crate::object::Storage.

The args are the metadata for this CollaborativeObject. See Create for further information.