GithubHelp home page GithubHelp logo

trustery's Introduction

trustery

Note: this is an experimental prototype and shouldn't be used in production. Feedback welcome.

Trustery is a Public Key Infrastructure (PKI) and identity management system on the Ethereum blockchain.

The aim of this project is to provide a PKI that has built-in certificate transparency to make it easy to detect rogue certificates, by building an alternative to decentralized PKI by using a public-ledgered web-of-trust model for fine-grained identity management.

This project is a result of my undergraduate thesis.

Command-line options

Usage: trustery [OPTIONS] COMMAND [ARGS]...

  Ethereum-based identity system.

Options:
  --help  Show this message and exit.

Commands:
  add                 Add an attribute to your identity.
  ipfsadd             Add an attribute to your identity over IPFS.
  ipfsaddpgp          Add a PGP key attribute to your identity over IPFS.
  retrieve            Retrieve an attribute.
  revoke              Revoke one of your signatures.
  search              Search for attributes.
  sign                Sign an attribute.
  trust               Trust an Ethereum address.
  trusted             View the list of trusted Ethereum addresses.
  untrust             Untrust an Ethereum address.

Installation

git clone https://github.com/musalbas/trustery.git
cd trustery/pytrustery
pip install --user --editable .

You can now run the command trustery from the command-line.

In order to use the system, you will first need to:

  • Run geth with the JSON RPC enabled.
  • Compile and publish the smart contract at contract/trustery-alt.sol and change the TRUSTERY_DEFAULT_ADDRESS variable in pytrustery/ethapi.py.

As this project is currently experimental, there is no official smart contract published yet. You are advised to test the smart contract on a test network.

At the moment, all transactions are executed from your first Ethereum address (eth.accounts[0]).

trustery's People

Contributors

musalbas avatar

Watchers

James Cloos avatar Martin Chapman 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.