Handshake is a UTXO-based blockchain protocol which manages the registration, renewal and transfer of DNS top-level domains (TLDs).
This is the GitHub Pages hosted website for the Handshake protocol. This site includes, API docs, JSdoc generated documentation, instructional guides, and links to the white paper and protocol spec.
To work on this site you will need:
- Linux or macOS (Windows may work, but is unsupported).
- Ruby, version 2.3.1 or newer
- Bundler — If Ruby is already installed, but the bundle command doesn't work, just run gem install bundler:1.16.3 in a terminal.
- Pandoc
Build site and slate API docs from the project's root directory:
./bin/build
Build jsdoc:
./bin/build-docs
To view the site locally, execute the build command first, and then run a simple
http server from the project's /build
directory:
$ cd build
Python2:
$ python -m SimpleHTTPServer 8080
Python3:
$ python -m http.server 8080
Ruby:
$ ruby -run -e httpd . -p 8080
Node.js:
$ npm install -g http-server
$ http-server -p 8080
The site will run at http://localhost:8080.
The API Documentation runs on the Open Source Slate Framework. To make an update, fork the repo and make the changes to the appropriate markdown in this file directory. To use livereload while working on the API docs, use middleman livereload like so:
$ cd ./handshake-org.github.io/src/api-docs/
$ bundle install
$ bundle exec middleman server
When your PR is merged the new docs will be deployed to the live docs page.
Have an idea for a guide or tutorial? First head on over to the GitHub issues and see if your idea is already posted. If not, create an issue.
Pull requests should only include changes to files in the src
directory.
Releases will be done that build and deploy.
To add a new guide, just a submit a pull request (PR) with a markdown
file added to the src/guides
directory in this repo (take a look at
some of the other guides here).
If your PR is accepted, it will added to the website.
Be sure to build the site before submitting your PR.