Go to file
2023-03-06 20:23:53 +00:00
dist Remove voucher subschema 2023-03-05 19:30:40 +00:00
.gitignore Add bundle files 2023-03-05 19:29:08 +00:00
bundle.py Remove voucher subschema 2023-03-05 19:30:40 +00:00
cic.in.json Move core context variables from nft json to core rdf 2023-03-05 19:11:39 +00:00
evm.rdfs Add evm rdf schema 2023-03-06 20:23:53 +00:00
Makefile Remove voucher subschema 2023-03-05 19:30:40 +00:00
mime.in.json Add voucher schema 2023-03-05 11:18:41 +00:00
nft.in.json Add bundler, test 2023-03-05 10:00:23 +00:00
opensea_part.in.json Move core context variables from nft json to core rdf 2023-03-05 19:11:39 +00:00
README.md add readme 2023-03-06 07:59:24 +00:00
requirements.txt Add requirements file 2023-03-05 10:13:02 +00:00
test_tx.rdf Add evm rdf schema 2023-03-06 20:23:53 +00:00
test_valid.json add readme 2023-03-06 07:59:24 +00:00
test_voucher.rdf Add evm rdf schema 2023-03-06 20:23:53 +00:00

CIC schemas

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 certifications.

This is a work in process. It is in alpha state, and may radically change at any time.

Using the project

To build json schemas and run tests, please install the python dependencies in requirements.txt:

pip install -r requirements.txt

(You may want to use a virtual environment)

Structure

Each unit of metadata consists of two parts:

  1. RDF documents the certifications of vouchers, accounts and transactions.

  2. A JSON metadata structure bundlinf certficiations as tradeable NFTs.

NFT tooling is at the current time intended for EVM blockchains only.

Certification vocaularies

Four base vocabularies are used to define the certifications.

  • foaf - well-known library used to describe human resources and relationships.
  • evm - EVM specific resources like transactions and account addresses.
  • cic - concepts specific to CICs, e.g. Unit of Account, voucher validity and other parameters decribing kinds of economic activity.
  • ge - subject Impact types and areas of interest, according to Grassroots Economics - the organization pioneering this work.

Including other vocabularies

Authors of certifications may express impacts and externalities in vocuabularies managed by themselves or other interested parties.

For example, Grassroots Economics can author a certification with the fictious We Do Good NGO as intended recipient. When doing so, elements from the wedogood vocabulary is used to reference specific points of interest in terms recognized by the recipient's systems.

wedogood can furthermore be a vocabulary that systems of the fictious We Do More Good NGO trusts and recognizes, which in turn can improve reliability and confidence for them.

Files

Example certification files used for initial development are (test_tx.rdf and test_voucher.rdf).

Note these schemas are not yet defined. They only exist as fictious references in the example files.

EVM NFT

The JSON metadata implements the ERC721 standard, as well as parts of the Opensea metadata standard.

It also contains immutable references to one or more certifications which the NFT represents.

Apart from the certifications field, data in the JSON structure is only intended for purposes of displaying the NFT in a user interface.

Files

Current state of the JSON schema can be found in dist/cic.json. It is composed by the build.py script from *.in.json.

test_valid.json is a single example data file used to test the JSON schema. make test builds the schema and runs the

The attribute property

The 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.