{"id":42371921,"url":"https://github.com/yogdaan/blockchain-certification","last_synced_at":"2026-01-27T19:41:11.398Z","repository":{"id":44161383,"uuid":"167386196","full_name":"yogdaan/blockchain-certification","owner":"yogdaan","description":"Generation and validation of certificates using ethereum blockchain","archived":false,"fork":false,"pushed_at":"2022-12-09T11:27:00.000Z","size":1777,"stargazers_count":143,"open_issues_count":15,"forks_count":65,"subscribers_count":9,"default_branch":"master","last_synced_at":"2023-11-07T19:07:41.311Z","etag":null,"topics":["blockchain","certificate","certificate-generation","certificate-transparency","certificates","docker","ethereum","ethereum-dapp","ganache","infura","metamask","mnemonic","nodejs","react","rinkeby-network","rpc-server","truffle","web3js"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yogdaan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-01-24T15:03:53.000Z","updated_at":"2023-11-04T11:06:03.000Z","dependencies_parsed_at":"2023-01-25T21:01:53.071Z","dependency_job_id":null,"html_url":"https://github.com/yogdaan/blockchain-certification","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"purl":"pkg:github/yogdaan/blockchain-certification","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yogdaan%2Fblockchain-certification","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yogdaan%2Fblockchain-certification/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yogdaan%2Fblockchain-certification/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yogdaan%2Fblockchain-certification/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yogdaan","download_url":"https://codeload.github.com/yogdaan/blockchain-certification/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yogdaan%2Fblockchain-certification/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28819596,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-27T18:44:20.126Z","status":"ssl_error","status_checked_at":"2026-01-27T18:44:09.161Z","response_time":168,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blockchain","certificate","certificate-generation","certificate-transparency","certificates","docker","ethereum","ethereum-dapp","ganache","infura","metamask","mnemonic","nodejs","react","rinkeby-network","rpc-server","truffle","web3js"],"created_at":"2026-01-27T19:41:10.846Z","updated_at":"2026-01-27T19:41:11.393Z","avatar_url":"https://github.com/yogdaan.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Certificate Generation and Validation Using Blockchain\n\n[![Docker Build](https://img.shields.io/docker/pulls/yogdaan/blockchain-certification?label=Docker%20Pulls\u0026style=flat-square)](https://hub.docker.com/r/yogdaan/blockchain-certification)\n[![Build Status](https://travis-ci.org/yogdaan/blockchain-certification.svg?branch=master)](https://travis-ci.org/yogdaan/blockchain-certification)\n[![Join the chat at https://gitter.im/yogdaan/blockchain-certification](https://img.shields.io/gitter/room/certification-validation/community.js.svg?style=for-the-badge)](https://gitter.im/yogdaan/blockchain-certification)  \n[![Deploy](https://www.herokucdn.com/deploy/button.png)](https://heroku.com/deploy)\n\n\u003e Built using Ethereum on local blockchain setup and deployed on Rinkeby test network.\n\n| Contract deployed at | 0x89c34c6a0d4c7587e9120a533757f380f4676887 |\n| -------------------- | ------------------------------------------ |\n| RPC Network          | Rinkeby Test Network                       |\n\n## Steps to set up local development environment\n\n### Setting local blockchain\n\n1. We need to install CLI version of Ganache.\n\n   ```bash\n   npm install -g ganache-cli\n   ```\n\n   \u003e Ganache provides us our personal local blockchain network which we can use to develop our blockchain application. It also gives temporary test accounts with fake ethereum which we can use to run our apps. We need to start the RPC server before running our application.\n\n1. To start the RPC server run the command\n\n   ```bash\n   npm run ganache\n   ```\n\n   \u003e Windows user will need to run this command in separate command prompt or terminal.\n\n1. Deploy the smart contract to the local blockchain.\n\n   ```bash\n   npm run contract-deploy\n   ```\n\n\u003e The above 2 steps need to be run everytime you are running the project.\n\n### Setting local database\n\n\u003e MongoDB server should be running as a background Process\n\n1. Open mongo in terminal using command `mongo`\n\n1. Then change the db using command\n\n   ```bash\n   use certification\n   ```\n\n1. Then set DB user and password with the following command\n\n   ```javascript\n   db.createUser({\n     user: \"\u003cYOUR USER NAME\u003e\",\n     pwd: \"\u003cYOUR USER PASSWORD\u003e\",\n     roles: [{ role: \"dbOwner\", db: \"certification\" }]\n   });\n   ```\n\n1. Include these username and password in the `.env` file.\n\n### Now we can start the server\n\n```bash\nnpm start\n```\n\n## Deploying Smart Contract\n\nThe contract can be deployed in any test networks. We are using Rinkeby test network with help of truffle.\n\n1. First of all we need to have a metamask account. When we create an account in metamask a _mnemonic_ is given to us. [You can read how to get a mnemonic here.](https://support.dex.top/hc/en-us/articles/360004125614-How-to-Create-Mnemonic-Phrase-with-MetaMask-)\n\n1. After that create a project in [Infura](https://infura.io). This will help us to use rinkeby network through infura.\n\n1. You will get an endpoint like this `https://rinkeby.infura.io/yourapikey`.\n\n1. Create a `.env` file in root directory and paste the previously genrated mnemonic and the endpoint URL in that. An example is also provided in [.env.example](./.env.example) file.\n\n   \u003e For running in development environment and to use local blockchain network, use the LOCAL_ENDPOINT variable and replace the URL with your own local URL (These default values are filled already and shouldn't be changed unless until RPC server running on different port)\n\n1. Now you can deploy the smart contract using a single command:\n\n   ```BASH\n   npm run deploy\n   ```\n\n1. You will get a contract address of newly generated contract. Save this for further uses.\n\n## Testing app\n\nTo test the app run the command `truffle test`. RPC server should be running to run the tests.\n\n## Useful reads\n\n- [Some instructions and commands for debugging in Truffle Console](./instructions/COMMANDS.md)\n\n## Youtube Video for better understanding of the project\n\n[![youtube-picture](https://img.youtube.com/vi/pByqlMCx7Bk/maxresdefault.jpg)](https://www.youtube.com/watch?v=pByqlMCx7Bk)\n\n---\n\n| Developers                                             |                                                               |\n| ------------------------------------------------------ | ------------------------------------------------------------- |\n| [Saurabh Thakur](https://github.com/thakursaurabh1998) | ![st](https://avatars0.githubusercontent.com/u/18613564?s=50) |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyogdaan%2Fblockchain-certification","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyogdaan%2Fblockchain-certification","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyogdaan%2Fblockchain-certification/lists"}