All Projects → ntheile → blockusign

ntheile / blockusign

Licence: other
A decentralized, encrypted document signing tool where you own and control your own documents, contracts and data. It is built on Blockstack

Programming Languages

typescript
32286 projects
HTML
75241 projects
SCSS
7915 projects
C#
18002 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to blockusign

Gun
An open source cybersecurity protocol for syncing decentralized graph data.
Stars: ✭ 15,172 (+31508.33%)
Mutual labels:  dapp, decentralized
nifty-game
🃏🎮A NFT(ERC721) card game build on Ethereum, Truffle, Ganache and hosting on IPFS.
Stars: ✭ 222 (+362.5%)
Mutual labels:  dapp, decentralized
trystero
🤝 Serverless WebRTC matchmaking for painless P2P — Make any site multiplayer in a few lines — Use BitTorrent, IPFS, or Firebase
Stars: ✭ 512 (+966.67%)
Mutual labels:  dapp, decentralized
Dasp
The Decentralized Application Security Project
Stars: ✭ 166 (+245.83%)
Mutual labels:  dapp, decentralized
Motoro
Smart contracts for decentralized rentals of vehicles.
Stars: ✭ 96 (+100%)
Mutual labels:  dapp, decentralized
Unstoppable Wallet Android
A secure and decentralized Bitcoin and other cryptocurrency wallet for Android phones. Supports Bitcoin, Ethereum, EOS, Binance Chain, Bitcoin Cash, DASH, ...
Stars: ✭ 165 (+243.75%)
Mutual labels:  dapp, decentralized
blockstack-browser
The Blockstack Browser
Stars: ✭ 1,130 (+2254.17%)
Mutual labels:  decentralized, blockstack
Dfile
[Python + Flask] DFile: A fancy S3-based file sharing mode
Stars: ✭ 79 (+64.58%)
Mutual labels:  dapp, decentralized
Crypto-Wallet
Open source SHA-512 loginless bitcoin wallet
Stars: ✭ 24 (-50%)
Mutual labels:  dapp, decentralized
subsocial-node
NOTE: Development continues in https://github.com/dappforce/subsocial-parachain repo. Subsocial full node with Substrate/Polkadot pallets for decentralized communities: blogs, posts, comments, likes, reputation.
Stars: ✭ 73 (+52.08%)
Mutual labels:  dapp, decentralized
Alpha Wallet Ios
An advanced Ethereum mobile wallet
Stars: ✭ 140 (+191.67%)
Mutual labels:  dapp, decentralized
polkadot-apps
Fork of Polkadot.js Apps with Subsocial types.
Stars: ✭ 17 (-64.58%)
Mutual labels:  dapp, decentralized
Blockstack.org
The Blockstack website
Stars: ✭ 132 (+175%)
Mutual labels:  dapp, decentralized
Unstoppable Wallet Ios
A secure and decentralized Bitcoin and other cryptocurrency wallet for iPhone. Supports Bitcoin, Ethereum, EOS, Binance Chain, Bitcoin Cash, DASH, ...
Stars: ✭ 180 (+275%)
Mutual labels:  dapp, decentralized
Particl Desktop
The GUI application for Particl Markeplace and PART coin wallet. A decentralized peer to peer marketplace –free, secure, private, untraceable.
Stars: ✭ 131 (+172.92%)
Mutual labels:  dapp, decentralized
qd-messages-ts
No ads, no tracking. Just a lightning fast peer-to-peer cross-platform messenger that doesn’t sell you out.
Stars: ✭ 22 (-54.17%)
Mutual labels:  dapp, decentralized
Trace
Supply chain transparency platform proof-of-concept based on the Ethereum blockchain ✍️
Stars: ✭ 52 (+8.33%)
Mutual labels:  dapp, decentralized
Mobidex
Mobile trustless trading through Uniswap
Stars: ✭ 61 (+27.08%)
Mutual labels:  dapp, decentralized
Chatangle
A free, decentralized, global chatroom, powered by the IOTA tangle
Stars: ✭ 16 (-66.67%)
Mutual labels:  dapp, decentralized
ipfs-chat
Real-time P2P messenger using go-ipfs pubsub. TUI. End-to-end encrypted texting & file-sharing. NAT traversal.
Stars: ✭ 84 (+75%)
Mutual labels:  dapp, decentralized

blockusign

A decentralized document signing tool where you own and control your own documents, contracts and data.

It is built on BlockStack.

Technical write up here: https://medium.com/blockstack-blog/blockusigns-pragmatic-approach-to-smart-contracts-anchoring-data-on-blockchain-using-blockstack-fb9bd974a306

Build Status

alt text

To Run Locally

The app uses Ionic (Angular + Cordova + Material Design UI) make sure you have it installed https://ionicframework.com/docs/intro/installation/

npm install -g ionic@latest

It also uses electron to wrap up as a desktop app (*electron code not written yet for auth)

npm install -g electron

cd BlockUSign.Ionic

npm install

There are several ways to start the app. Sometimes when logging in with blockstack you come across cors issues. Most apps use a Node proxy, but then livereload does not work. That is why I created a few npm scripts to help.

If you goto the package.json file look at the scripts sections and look for "start"

For mac, the script should read :

"start:mac": "npm run chrome-mac && ionic serve",

For windows: change the script to this (take off the -mac):

"start": "npm run chrome && ionic serve"

To actually start the app run:

npm run start

You will most likely get this error:

Cannot GET /signup.html

This only happens the first time you open the app. Sorry, I have not had time to improve this part yet :( . To fix this, you will need to open the developer tools and set a localStorage setting in the console or else you will be redirected to a non-existent signup.html page.

localStorage.setItem('signUp', 'true')

Refresh the app back to the root and you should be prompted for blockstack login!

http://localhost:8100/

If you are having login issues due to CORS, you can run the app the first time with a node proxy. This will boot up the app as a node app. * note you cannot live reload while debugging, so I recommend only using this when logging in for the first time.s

npm run serve

Production Build

npm run buildweb

This will copy the ionic project to the wwwroot directory to be served up from the .net core project

Azure Deploy Settings

Make sure you have the following files configured on the azure website in Kudu:

site\wwwroot\appsettings.json

{
  "SendGridKey": "SG.q....",
  "GaiaToken": "bearer v1:eyJw...=",
  "EmailConfirmKey": "0181..."
}

Azure Portal Settings

Lets Encrypt

Architecture Diagram

TODO :)

Check out https://blockusign.co/signup.html for some basic architectural and design decisions.

Blockusign Schema

Blockusign Document Schema Protocol
-------------------------------------------------
User
    |_ List Documents Index
        |_ document1
        |_ document2

User (nicktee.id)
    |_ List Document Index (guid, fileName, key) - asymmetric
        |_ document1 (guid, fileName, fileExt, key, paths([user, pathToStorage)]) - symmetric => asymmetric
        |_ document2 (guid, fileName, key, paths(user, pathToStorage)) - symmetric => asymmetric

Blockusign Global Index Protocol (Map document guids to user's storage bucket)
------------------------------------------------
guid.doc.storage.map.json
    pathToStorageForUser1 - https://gaia.blockstack.org/hub/18kTskBpTh1mznsypu1fhJ27dxbC1SwXEK/
    pathToStorageForUser2
    pathToStorageForUser3

Integration Tests

Install the global dependencies npm install -g protractor npm install -g webpack npm install -g webpack-cli

Open a terminal and run ionic serve

In another terminal run npm run e2e

or run run test

** https://leifwells.github.io/2017/08/27/testing-in-ionic-configure-existing-projects-for-testing/ (* note I had to downgrade a jasmine package from the tutorial) npm install --save-dev jasmine@^2.99.0

Support on Beerpay

Hey dude! Help me out for a couple of 🍻!

Beerpay Beerpay

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].