Skip to content

Simple Distributed Public Key Infrastructure built with Ethereum and IPFS

Notifications You must be signed in to change notification settings

GuillaumeCz/dpki-Ethereum

Repository files navigation

A Distributed Public key Infrastructure...

... with Ethereum and IPFS

No general purpose... Just for learning and have fun... ! alt text

How to ?

Setup

# Clone and cd to the repo
git clone https://github.com/guillaumecz/dpki-Ethereum.git
cd dpki-Ethereum

# Install npm dependencies
npm install -g truffle
npm install

# Start a daemon (ipfs & ganache)
npm run daemons

# Migrate contracts to network
truffle migrate

Use

./cli/dpki -h --> Get help

There are two types of actions :

IPFS
  • ./cli/dpki ipfs-save <filePath> : Add a specified file to the ipfs network, returns the newly created ipfs-address
  • ./cli/dpki ipfs-cat <ipfs-addr>: Get the value of file stored at on IPFS
Ethereum
  • ./cli/dpki new <name> <ipfsId>: Save into Ethereum the association between the given <name> and <fileOrIpfsId>. Has an option (-f) to specify if it has to store a file into IPFS before interacting with Ethereum.
    • ./cli/dpki new -f <name> <filePath>: Save into Ethereum the association between the given <name> and <fileOrIpfsId>. Has an option (-f) to specify if it has to store a file into IPFS before interacting with Ethereum. -./cli/dpki key <name>: Get the IPFS address of the public key file of the user <name.
Trust system (on dev)
  • ./cli/dpki trust-him <name>: Trust the user

Tests

  • npm run test: nodeJs tests
  • npm run all-tests: nodeJs and Solidity tests

site

About

Simple Distributed Public Key Infrastructure built with Ethereum and IPFS

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published