Permalink
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
130 lines (111 sloc) 4.17 KB
# Arbitrary Application version number
Version = 1
# Automatically-generated UUID generated and inserted here by 'hc clone'
# Changing this or any part of the file will fork you into a new social organism/DHT
UUID = "00000000-0000-0000-0000-000000000000"
# Name of the application
Name = "Cludder"
[DHTConfig]
# Selection of the hashing algorithm you want to use for the DHT's address-space
HashType = "sha2-256"
# The source file for the data structure of your application properties
PropertiesSchemaFile = "properties.json"
# Inidicates which version (or later) of the holochain library this App requires
RequiresVersion = 12
# Values for the schema
[Properties]
description = "A Lisp Clutter (Distributed Twitter Clone)"
language = "en"
# Place to acknowledge forking of prior development projects
[BasedOn]
Name = "Clutter" # Forked from Clutter, a holochain-based Twitter clone, on March 8, 2017
URL = "http://github.com/metacurrency/clutter"
# Every holochain may have multiple chromoZOMES which are like sub-applications
# Zomes must specify their Name, language (RibosomeType), and associated data structures (schemas)
[[Zomes]]
Name = "cludder"
Description = "Clutter in Lisp"
RibosomeType = "zygo" # Using the zygo/LISP engine
CodeFile = "cludder.zy" # Filename
# Every type of entry that can be committed to your chain must be specified
# This tells DHT nodes about each entry type so they call the validation function in the correct file (Code, above)
[[Zomes.Entries]] # Someone's username
Name = "handle"
DataFormat = "string"
Sharing = "public" # Automatically published to DHT after committing to chain
SchemaFile = "" # Link to schema filename (unused for string DataFormat)
[Zomes.Entries.SchemaHash]
# If the DataFormat for handles were "json" instead of a string, the hash (H) of the JSON schema file would go here
[[Zomes.Entries]] # Anchor type, for creating the user directory and hash-tags
Name = "anchor"
DataFormat = "json"
Sharing = "public" # Automatically published to DHT after committing to chain
SchemaFile = "anchor.json" # Link to schema filename
[Zomes.Entries.SchemaHash]
[[Zomes.Entries]] # A post
Name = "post"
DataFormat = "json"
Sharing = "public"
SchemaFile = "post.json"
[Zomes.Entries.SchemaHash]
[[Zomes.Entries]]
Name = "post_links"
DataFormat = "links" # Special "meta-tag" that links one DHT entry to another. You could think of this like RDF graph stuff.
[[Zomes.Entries]]
Name = "directory_links"
DataFormat = "links"
[[Zomes.Entries]]
Name = "handle_links"
DataFormat = "links"
[[Zomes.Entries]] # Contains the user address (hash) of the person you want to follow
Name = "follow"
DataFormat = "links"
[[Zomes.Entries]] # Contains the user address (hash) of the person you want to follow
Name = "unfollow"
DataFormat = "links"
# This is the list of exposed functions, see dna/cludder/cludder.zy for the functions themselves
[[Zomes.Functions]]
Name = "getProperty"
CallingType = "string"
Exposure = "public"
[[Zomes.Functions]]
Name = "appProperty"
CallingType = "string"
Exposure = "public"
[[Zomes.Functions]]
Name = "follow"
CallingType = "string"
Exposure = "public"
[[Zomes.Functions]]
Name = "unfollow"
CallingType = "string"
Exposure = "public"
[[Zomes.Functions]]
Name = "post"
CallingType = "json"
Exposure = "public"
[[Zomes.Functions]]
Name = "postMod"
CallingType = "json"
Exposure = "public"
[[Zomes.Functions]]
Name = "getPostsBy"
CallingType = "json"
Exposure = "public"
[[Zomes.Functions]]
Name = "newHandle"
CallingType = "string"
Exposure = "public"
[[Zomes.Functions]]
Name = "getHandle"
CallingType = "string"
Exposure = "public"
[[Zomes.Functions]]
Name = "getAgent"
CallingType = "string"
Exposure = "public"
[[Zomes.Functions]]
Name = "getFollow"
CallingType = "json"
Exposure = "public"
# Additional zome files each need their own section specifying file paths and schemas