SignRecord was designed and developed to be an easy solution to document credentialization and authentication on a public ledger. By using Ethereum technologies such as IPFS and hash storing, it offers a convenient way for individuals and organizations to integreate form, waiver, and authentication systems in their own applications.
The inspiration for SignRecord came from a unified need for an enhanced method to share medical records. In my case, I knew family members that had medical conditions that required them to visit multiple external doctors. Due to this, they'd often carry files upon files of medical history to-and-from doctors (due to security and legal concerns). In comes SignRecord. By allowing a user to upload non-confidential documents to a public ledger and then demanding doctors to sign that they have viewed the document publically, we effectively remove the barrier in-between document sharing and legal verification.
Another use case that was explored was the need for a public authority to verify liability waiver forms. When I came to PennApps, I was told I didn't sign the waiver, when I was confident I had. Thankfully, I had printed out a copy of the signed waiver. But in another scenario, if tomorrow, PennApps argues that you've never signed their waiver on DocuSign, you'd be unable to claim otherwise. In this case, with SignRecord you've got the option to verify that you've publically signed the transaction on the blockchain.
Starting SignRecord is as simple as running a few commands in your terminal:
- Start the backend server by navigating to
/backend
, installing the dependencies withnpm install
and then starting it up withnpm start
. - Start the React frontend server by navigating to
/ipfs
, installing the dependencies withnpm install
and then starting it up withnpm start
. - Start the document-IPFS frontend and server by navigating to
/opensign
, and running these three commands:ipfs daemon
,embark blockchain
, andembark run
. Do note,[email protected]
installed globally andgeth
are dependencies. - Finally, make sure you have the
Metamask
plugin and are authenticated on theRopsten
test network, or using a custom RPC-endpoint that is declared in theconfig
file.