Skip to content

Latest commit

 

History

History
117 lines (66 loc) · 2.87 KB

CONTRIBUTING.md

File metadata and controls

117 lines (66 loc) · 2.87 KB

back to README.md

Contributing

Overview

(high-level) Entity Relationship Diagram

TODO

Entity Relationship Pattern

This project implements the CAPS pattern

Development

Naming Conventions

  • Entry type names always end with Entry

Environment

  • Enter nix-shell for other development environment dependencies.

Building

hApp Bundle

make happ/devhub.happ

Testing

To run all tests with logging

make test
  • make test-unit - Rust tests only
  • make test-integration - Integration tests only

Faux data tests

  • make test-zomehub - Upload faux zomes
  • make test-dnahub - Upload faux DNAs
  • make test-apphub - Upload faux Apps & WebApps
  • make test-webapp-upload - Upload real App with faux GUI

Real-input tests

  • make test-real-zome-upload - Upload devhub.happ to DevHub
  • make test-real-dna-upload - Upload devhub.happ to DevHub
  • make test-real-app-upload - Upload devhub.happ to DevHub

NOTE: set DEBUG_LEVEL environment variable to run tests with logging (options: fatal, error, warn, normal, info, debug, trace)

Example

DEBUG_LEVEL=trace make test

Dependencies

Rust Dependency Tree

  • types - define structs that are not scoped to a zome
  • integrity - adds LinkTypes and EntryTypes scopes
    • implementations related to newly defined scopes
  • sdk - implementations related to the coordinator interface
  • coordinator - exposes controlled access points

External Depependencies

Dev / Testing Dependencies

This library handles the underlying patterns for types that require CRUD.

Mere memory is a set of zomes used for simple byte storage.

@spartan-hc/app-interface-client

DevHub uses this for development and testing. This library changes as the Conductor's App Interface API evolves.

@spartan-hc/holochain-backdrop

DevHub uses this for development and testing. This library is used to programmatically run the Holochain binary, install hApps, creates agents, and make capability grants. This library changes as the Conductor's API evolves.