Skip to content
This repository has been archived by the owner on Sep 29, 2019. It is now read-only.

Commit

Permalink
Add readme
Browse files Browse the repository at this point in the history
  • Loading branch information
lenwhite committed Mar 3, 2019
1 parent 5021860 commit c03e6eb
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 32 deletions.
35 changes: 3 additions & 32 deletions readme.md
Original file line number Diff line number Diff line change
@@ -1,47 +1,18 @@
# Key Signature Validator

Requires Node.JS and Heroku.
Requires Node.JS and Heroku. Can probably work perfectly fine without Heroku, in which case set up your own MongoDB in the environmental config ```MONGODB_URL```

``` bash
npm install
heroku local web
```

This is a program that generates a nonce for a Bitcoin wallet address. It then takes in a signature and checks that:
This is a simple tool to validate ownership of a bitcoin wallet address (e.g. if you want to do an audit and obtain proof-of-ownership).

1. The address is one that it has previously generated a nonce for
2. The message is the nonce that it had generated
3. The signature verifies that the message is signed by the private key corresponding to the Bitcoin address.

## Installation

TBD
Specify a message for a bitcoin wallet address, and then verify that the provided signature matches that stored message and address.

## Deployment

``` bash
git push heroku master
```

## To-Do

* Heroku schedule to clear db periodically (although the capped collection would probably work on it's own?)
* maybe a service that periodically calls `/api/addresses/drop`?
* Set nodemon to ignore changes in /src/, set webpack to --watch /src/ and rebuild to save on reloads
* <https://itnext.io/auto-reload-a-full-stack-javascript-project-using-nodemon-and-webpack-dev-server-together-a636b271c4e>

<https://medium.com/@everdimension/how-to-handle-forms-with-just-react-ac066c48bd4f>

* database (is it just exposed through a restful api on another microservice?)
* <https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/mongoose>
* <https://blog.cloudboost.io/creating-your-first-mern-stack-application-b6604d12e4d3>
* <https://www.mongodb.com/blog/post/the-modern-application-stack-part-5-using-reactjs-es6-and-jsx-to-build-a-ui-the-rise-of-mern>
* <https://restfulapi.net/security-essentials/>
* <https://scotch.io/@deityhub/getting-started-with-the-mern-stack>
* <https://medium.com/javascript-in-plain-english/full-stack-mongodb-react-node-js-express-js-in-one-simple-app-6cc8ed6de274>
* Look into styled-components (or other methods of adding css to react?)
* Add support for Ethereum addresses.
* Typed hinting?
* <https://templecoding.com/blog/2016/03/31/creating-typescript-typings-for-existing-react-components/>
* <https://medium.com/javascript-scene/you-might-not-need-typescript-or-static-types-aa7cb670a77b>
* <https://strongloop.com/strongblog/type-hinting-in-javascript/>
3 changes: 3 additions & 0 deletions src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,9 @@ class App extends Component {
appName='Wallet Validator'
onPageChange={this.handlePageChange}
/>
<p>
This is a simple tool to validate ownership of a bitcoin wallet address (e.g. if you want to do an audit and obtain proof-of-ownership). Specify a message for a bitcoin wallet address, and then verify that the provided signature matches that stored message and address.
</p>
{Page}
</div>
</AlertProvider>
Expand Down

0 comments on commit c03e6eb

Please sign in to comment.