The first blockchain for recruiting & education
Clone or download
flyingleafe Merge pull request #298 from DisciplinaOU/martoon/dscp299-insitent-pu…
…blication

[DSCP-299] Insitent publication
Latest commit d263b6f Nov 15, 2018
Permalink
Failed to load latest commit information.
.buildkite Enable macOS app CI Oct 8, 2018
core [DSCP-299] Use `retry` library for educator workers Nov 15, 2018
docs [DSCP-358] provide logging config in main config file Oct 24, 2018
educator [DSCP-299] Fixes after rebase Nov 15, 2018
faucet [DSCP-344] Change CLI parsers overriding behavior Nov 12, 2018
hpack [DSCP-274] Add keygen Sep 26, 2018
multi-educator [DSCP-299] Fixes after rebase Nov 15, 2018
run [DSCP-358] provide logging config in main config file Oct 24, 2018
scripts [DSCP-283] Add Multi Educator Nov 8, 2018
specs [DSCP-335] Take mempool into account in explorer Nov 9, 2018
tools [SRK-8] Keep `SecretKeyData` in storage Nov 8, 2018
wallet [DSCP-193] Implemented RocksDB (and Pure, too) storage for AVL+ Nov 5, 2018
witness [DSCP-299] Fixes after rebase Nov 15, 2018
.gitattributes Add a sandbox specification for macOS bundle-exec Aug 30, 2018
.gitignore [DSCP-193] Implemented RocksDB (and Pure, too) storage for AVL+ Nov 5, 2018
.stylish-haskell.yaml [DSCP-275] Allow to disable all auths in Educator/Student APIs Sep 25, 2018
ChangeLog.md [TMP-26] Moved all into root Feb 22, 2018
README.md Add buildkite badge Nov 1, 2018
config.yaml [DSCP-193] Fixing config Nov 5, 2018
default.nix Replace gitIgnore with constGitIgnore Oct 8, 2018
pkgs.nix [DSCP-355] Use cborg-0.2.1.0 (#299) Oct 18, 2018
release.nix Replace gitIgnore with constGitIgnore Oct 8, 2018
shell-native.nix [DSCP-344] Change CLI parsers overriding behavior Nov 12, 2018
shell.nix Implement Stack shell Sep 22, 2018
stack.yaml [DSCP-281] Update loot-networking with wrong tag fix Nov 12, 2018

README.md

Disciplina

Build status

Blockchain platform for the field of education.

Build

This is a standard Stack project, i.e. you can just run stack build provided that you have installed the following native dependencies:

  • GMP
  • OpenSSL
  • pkg-config
  • RocksDB
  • ZeroMQ
  • zlib

Nix

Set up Disciplina binary cache so that you don't have to build dependencies:

sudo $(nix-build pkgs.nix -A cachix --no-out-link)/bin/cachix use disciplina

If you are on a single-user Nix install (nix-shell -p nix-info --run nix-info should say multi-user?: no), omit sudo in the command above. You will see No permission errors, that's fine.

If you are on NixOS, make sure to add https://cache.nixos.org to nix.binaryCaches, otherwise main Nix binary cache stops working. See cachix/cachix#128.

Next, install Nix with NixOS/nix#2409 patch:

nix-env -f pkgs.nix -iA nix

If you test Disciplina or develop software that integrates with it, run nix-env -f release.nix -iA disciplina. This will install Disciplina packages into your user profile. Then you can use scripts/launch/node.sh to start nodes.

For production builds, run nix-build.

For incremental builds, run nix-shell. Then, use either stack build or cabal new-build all as you normally would. This will only build local packages, all dependencies are managed by Nix.

If you prefer to let Stack handle Haskell dependencies instead of Nix, or if the above doesn't work for you for whatever reason, leave nix-shell and build with stack build --nix. In that case, Nix will only provide native deps.

Issue tracker

We use YouTrack as our issue tracker. You can login using your GitHub account to leave a comment or create a new issue.