Move documentation to texinfo, add makefiles, rename Cert to Attestation (python)
This commit is contained in:
4
doc/texinfo/Makefile
Normal file
4
doc/texinfo/Makefile
Normal file
@@ -0,0 +1,4 @@
|
||||
doc:
|
||||
makeinfo --html -o build index.texi
|
||||
readme:
|
||||
makeinfo --docbook -o build/docbook.xml index.texi
|
||||
20
doc/texinfo/attestations.texi
Normal file
20
doc/texinfo/attestations.texi
Normal file
@@ -0,0 +1,20 @@
|
||||
@node attestations
|
||||
@chapter Attestations
|
||||
|
||||
@section Attestation vocaularies
|
||||
|
||||
Four base vocabularies are used to define the attestations.
|
||||
|
||||
* @code{@url{foaf, http://xmlns.com/foaf/0.1/}} - well-known library used to describe human resources and relationships.
|
||||
* @code{evm} - EVM specific resources like transactions and account addresses.
|
||||
* @code{cic} - concepts specific to CICs, e.g. @emph{Unit of Account}, @emph{voucher validity} and other parameters decribing kinds of economic activity.
|
||||
* @code{ge} - subject impact types, areas of interest and inter-currency relations according to Grassroots Economics - the organization pioneering this work.
|
||||
|
||||
|
||||
@subsection Including other vocabularies
|
||||
|
||||
Authors of attestations may express impacts and externalities in vocuabularies managed by themselves or other interested parties.
|
||||
|
||||
For example, Grassroots Economics can author a attestation with the fictious @strong{We Do Good NGO} as intended recipient. When doing so, elements from the @code{wedogood} vocabulary is used to reference specific points of interest in terms recognized by the systems of the recipient.
|
||||
|
||||
@code{wedogood} can furthermore be a vocabulary that systems of the fictious @strong{We Do More Good NGO} trusts and recognizes, which in turn can improve reliability and confidence for them.
|
||||
28
doc/texinfo/index.texi
Normal file
28
doc/texinfo/index.texi
Normal file
@@ -0,0 +1,28 @@
|
||||
\input texinfo
|
||||
@settitle CIC Schema
|
||||
|
||||
@copying
|
||||
Documentation released 2023 under Creative Commons Attribution-Sharealike 4.0 (CC BY-SA 4.0)
|
||||
@end copying
|
||||
|
||||
@titlepage
|
||||
@title CIC Schema
|
||||
@author Louis Holbrook
|
||||
|
||||
@end titlepage
|
||||
|
||||
@c
|
||||
@contents
|
||||
|
||||
@ifnottex
|
||||
@node Top
|
||||
@top Introduction
|
||||
@end ifnottex
|
||||
@menu
|
||||
* overview ::
|
||||
* instructions :
|
||||
@end menu
|
||||
|
||||
@include overview.texi
|
||||
@include attestations.texi
|
||||
@include nft.texi
|
||||
9
doc/texinfo/location.texi
Normal file
9
doc/texinfo/location.texi
Normal file
@@ -0,0 +1,9 @@
|
||||
In the context of CIC, The URI of NFT contract metadata will always be expressed in terms of a content-addressed string.
|
||||
|
||||
The string may point to a specific location in the web, or may point to the content address itself, for which the location must be determined by the caller.
|
||||
|
||||
The difference between the three methods can be illustrated by two examples:
|
||||
|
||||
@itemize
|
||||
@item
|
||||
tokenURI(foo) ->
|
||||
22
doc/texinfo/nft.texi
Normal file
22
doc/texinfo/nft.texi
Normal file
@@ -0,0 +1,22 @@
|
||||
@node nft
|
||||
@chapter EVM NFT
|
||||
|
||||
The JSON metadata implements the @dfn{ERC721} standard, as well as parts of the @dfn{Opensea} metadata standard.
|
||||
|
||||
It also contains immutable references to one or more certifications which the NFT represents.
|
||||
|
||||
Apart from the @code{certifications} field, data in the JSON structure is only intended for purposes of displaying the NFT in a user interface.
|
||||
|
||||
|
||||
@section Files
|
||||
|
||||
Current state of the JSON schema can be found in @file{dist/cic.json}. It is composed by the @file{build.py} script from @file{*.in.json}.
|
||||
|
||||
@file{test_valid.json} is a single example data file used to test the JSON schema. @code{make test} builds the schema and runs the corresponding tests.
|
||||
|
||||
|
||||
@section The attribute property
|
||||
|
||||
The @code{attributes} property may contain one or more values that represents parameters within certifications. However, it does not represent the autoritative data.
|
||||
|
||||
Care must be taken to make sure the display parameters does not conflict with the data defined in the certification itself.
|
||||
29
doc/texinfo/overview.texi
Normal file
29
doc/texinfo/overview.texi
Normal file
@@ -0,0 +1,29 @@
|
||||
@node overview
|
||||
@chapter Overview
|
||||
|
||||
This project aims to contain sufficient tools for generation, validation and packaging of metadata describing impacts and externalities from the use of Community Inclusion Currencies (CICs).
|
||||
|
||||
The expression of impacts and externalities will henceforth be referred to as @emph{attestations}.
|
||||
|
||||
@strong{This is a work in process. It is in alpha state, and may radically change at any time.}
|
||||
|
||||
|
||||
@section Getting started
|
||||
|
||||
To build json schemas and run tests, please install the python dependencies from @file{requirements.txt}:
|
||||
|
||||
@code{pip install -r requirements.txt}
|
||||
|
||||
(You may want to use a virtual environment)
|
||||
|
||||
|
||||
@section Project Structure
|
||||
|
||||
Each unit of metadata consists of two parts:
|
||||
|
||||
@enumerate
|
||||
@item RDF documents the certifications of vouchers, accounts and transactions.
|
||||
@item A JSON metadata structure bundlinf certficiations as tradeable NFTs.
|
||||
@end enumerate
|
||||
|
||||
NFT tooling is at the current time intended for EVM blockchains only.
|
||||
Reference in New Issue
Block a user