# Forum Logic This project is a Javascript prototype for the DGF system. It implements the core algorithm described in [Craig Calcaterra (May 24, 2018) On-Chain Governance of Decentralized Autonomous Organizations](http://dx.doi.org/10.2139/ssrn.3188374). This project is implemented as a static site, and so may be downloaded and browsed offline, or served via HTTP. The `main` branch is [served](https://dao-governance-framework.gitlab.io/forum-logic) via GitLab Pages. # Development For a more convenient local URL, add `forum.dev` as an alias for `127.0.0.1` in your `/etc/hosts` file. Install [mkcert](https://github.com/FiloSottile/mkcert/#installation) Install [nginx](https://nginx.org/en/docs/install.html) Add the root CA for self-signed certificates mkcert -install Generate a certificate for `forum.dev` mkcert forum.dev Move the certificate to nginx config directory sudo mkdir -p /etc/nginx/certs sudo cp forum.dev{,-key}.pem /etc/nginx/certs/ Make your home directory readable to the webserver (hacky way): chown a+r ~/ Configure `nginx` by adding a file `/etc/nginx/sites-available/forum_dev`, with content similar to the following: ```nginx server { listen 443 ssl; server_name forum.dev; ssl_certificate /etc/nginx/certs/forum.dev.pem; ssl_certificate_key /etc/nginx/certs/forum.dev-key.pem; root /home/ladd/dgf/forum-logic/src/; index index.html; location / { try_files $uri $uri/ =404; } } ``` Replace `/home/ladd/dgf/forum-logic` with the path to this repository on your filesystem. Enable the site sudo ln -s /etc/nginx/sites-available/forum_dev /etc/nginx/sites-enabled/ Now restart `nginx` and the site should be available at https://forum.dev. Note that browsers may cache assets, so after modifying source code, you may need to refresh your browser while holding `Shift` to bypass the browser cache. # TODO - Move `actor.js` and `action.js` out of `display/`. To `supporting`?