Git Product home page Git Product logo

sampl's Introduction

SAMPL

  • Implementation of SAMPL
  • Each entity in the network has their own working directory.
  • Within each directory of the Entitiy is their own main.c that contains their logic. There is a Makefile to compile them.

Quick Start

Set up the environment and build the project

  • In the root directory
mkdir obj
cd lib && make
cd ..
make
cp db/test-full32.db test.db
  • Two sample databases have been provided for testing. One contains batches composed of exactly one merkle tree. The other is for non full batches, to show the verification process when a surveillance period requires data that is not does not encompass a full merkle tree.
  • The sample database includes 8 users, with 5 days worth of data. There are 32 entries of data, creating one merkle tree , and each data size is 10 bytes, to keep the size of the database file small.
cd dbstarter
make
{ optional: alter names.txt }
./dbstarter --user
./dbstarter --data { # now of days of survaillance } { Size of each data entry }

  • copy the generated database to the base directory to use

  • Make sure the SR__names.txt file the Law entity reads is the same as names.txt that was used to generate the database. If nothing was touched, it should be set

  • Before Running, if testing with ethereum, make sure ethereum is running.

  • Currently, tests are configured to simulate by running on a local machine, so ethereum will also be running on a local machine. To get ethereum up and running:

cd eth/
./start_all.sh
  • Now ethereum is running on the local machine, one ethereum node for each entity in the network.
  • Now run test scenarion on the local machine
./run.sh { # of people under survaillance } { # of days of survaillance } {
offset of people to run same tests with different subset of people }
  • The Enforcer entity logs show the result of the zero knowledge proof verification.

sampl's People

Contributors

austinmbos avatar

Watchers

Gaurav Panwar avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.