https://github.com/hylim-tech-lover/data-sharing-blockchain
Data sharing platform using private blockchain implementation
https://github.com/hylim-tech-lover/data-sharing-blockchain
expressjs hardhat jest-tests morgan-middleware nodejs openzeppelin solidity-contracts typescript winston-logger yargs
Last synced: 3 months ago
JSON representation
Data sharing platform using private blockchain implementation
- Host: GitHub
- URL: https://github.com/hylim-tech-lover/data-sharing-blockchain
- Owner: hylim-tech-lover
- Created: 2022-10-27T09:59:45.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-10-28T09:12:11.000Z (over 3 years ago)
- Last Synced: 2024-10-18T17:13:07.032Z (over 1 year ago)
- Topics: expressjs, hardhat, jest-tests, morgan-middleware, nodejs, openzeppelin, solidity-contracts, typescript, winston-logger, yargs
- Language: TypeScript
- Homepage:
- Size: 267 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Private Blockchain Implementation MVP
## Description
A private blockchain network is used to create an intranet system that allows sharing of anonymised data in real time on their own IT infrastructure. This allows verifiable proof for other implemnetation such as credit risk model where rely on transparent auditable data instead of reputation.
## Implementation components
- Indexer
- Smart contracts
- API
- Database
- Scripts
## Technical flow
1. Raw transaction data retrieved from data source via API or SDK (or equivalent origin source of data)
2. Automated script checks if merchant is already within the system (database) else if creates a new smart contract
3. `MerchantId` & corresponding `smart contract address` gets updated in database
4. Raw transaction data gets normalised, encrypted, hashed and pushed on to AWS S3 and URI of S3 file returns as response
5. Update hashed raw transaction data to merchant smart contract
6. Automated script routinely polls transaction from blockchain
7. Polled transactions get updated to MySQL for easier read when querying
8. API interaction retrieves information from MySQL