Taskbar stands to become a fully autonomous, self-sovereign, gig-economy platform, by maximizing inflow and outflow of tasks and services between users via a secure, trustless, interactive and inclusive web 3.0 ecosystem.
This project, supported by the Hedera x Filecoin devgrants, is set to bring Taskbar closer to a web 3.0 ecosystem by moving the main functionality on-chain and storing a set of the task's metadata on smart contracts, along with references to the task transcripts and proofs. We define the task transcripts as either information which are too large to be stored on chain, or sensitive data which should not be publicly visible. A complete trace of the task will be encrypted and stored on the Hedera File Storage and on the IPFS network through Filecoin, depending on the state of the task. On-chain data are cryptographically secured and available only to the tasker and needer. Due to audit concerns, off-chain storage shall be immutable.
See the project's Wiki page for a more detailed overview of the future final form of the project.
Milestones 1 and Milestone 2 have now been completed.
npm install
The Hedera local services-node provides the minimum required services to deploy a Hedera Network on a local machine.
Create a .env
file and add the environment variables as described in the sample (.env.sample
)
npm run start
Once started, the application will upload the smart contracts if necessary, otherwise will use the saved contract id's and ABI from storage:
The app is using a an unofficial hedera library (hedera-strato-js) which relies on the hedera-sdk-js, solc and @ethersproject/abi for interacting with Hedera and uploading files and smart contracts on the network services. The library exposes
LiveContract
's based on ABI andLiveJson
's for simplifying the interactions with Smart Contracts and File Storage.
- On task creation, the business critical data is stored on smart contracts, which encapsulate the core logic of the Taskbar app. See more on the smart contracts architecture here
- Less critical task information is temporarily persisted on the Hedera File Storage.
- Read more on the information stored on-chain and off-chain here
- Finding a given task's data supposes finding the smart contract holding the requested information, as well as accessing the Hedera File Storage location of the task.
- Future developments will make use of a Mirror Node and will index data to provide more a better experience when interacting with existing tasks.
- A basic REST API that allows for storing and fetching data to and from the IPFS network
- Uses web3storage to access Filecoin
-
- Finalize the requirements and specifications
- Formulate all parameters of Transcript file along with their metadata
- SDK hierarchy and initial setup
- Information on the specifications can be found at Milestone 1 - Wiki
- Initial setup project along with example can be found in this repository
-
- SDK – Hedera HFS integration
- SDK – Integration with Hedera smart contracts
- SDK - Integration with Filecoin web3.storage for transcript storage
- Frontend development
Please find a description of the future Milestones here
GNU General Public License v3.0 or later
See LICENSE to see the full text.