Project Name
Mantis Data Solutions
Project Category
Core Software
Proposal Earmark
General
Proposal Description
Retroactive Funding Request
This is a retroactive funding request for 47 hours of work on the Ocean Protocol (backend and frontend) towards Arweave Integration Milestone 1: Publish using Arweave Transaction ID. The goal of this work is to enable publishing assets stored in Arweave using only the Arweave transaction ID.
Status Update
The backend is very close to fully supporting publishing with Arweave transaction ID.
- My provider PR was merged
- My ocean.py PR has been through 2 reviews.
- My ocean.js PR updates the Provider API to take file objects like UrlFile and ArweaveFile instead of a URL string. It is ready for review.
Additional work is still required on the frontend:
- I submitted two PRs to the market.
- My first market PR upgrades the provider API to take UrlFile objects instead of strings. It is ready for review.
- My second market PR adds the Storage Type and Transaction ID fields to the publish screen. I still need to develop a React component that handles the interactions between the storage type selector, the file URL field, and the Arweave transaction ID field.
- I submitted two PRs to the docs:
- My first docs PR was eventually abandoned because it predated the transition to Gitbook.
- My second docs PR adds instructions to upload files to Arweave. I still need to update several screenshots once the market PRs are merged and deployed.
Request Scope
The 47 hours included in this request can be seen in the following image, outlined in red.
Hour breakdown:
- 13 were spent cleaning up the provider PR.
- 6 were spent cleaning up the ocean.py PR.
- 6 were spent continuing to work on the frontend (ocean.js PR and market (1) (2))
- 6 were spent updating the docs PR.
- 16 are frontend hours rolled over from my R20 proposal.
This work does NOT include the ability to upload to Arweave from within the Ocean Market.
Hourly Rate
The requested $8000 is based on an hourly rate is $170/hr. This rate is in line with my R19 and R20 proposals which were fully funded.
Effort Scaling
Given that this is a retroactive funding request, there is no way for me to scale my effort down based on the actual amount of funding received. Nonetheless, I will respect the decision of the DAO, and I will not re-request funding for these 47 hours in future rounds. Nor will I seek funding from the Shipyard program for this same work.
No Overlap with Shipyard Proposal
I recently signed a contract with the Ocean Shipyard program. The scope of the contract does not overlap with the scope of this proposal.
Grant Deliverables
Arweave Integration Milestone 1: Publish using transaction ID by MantisClone · Pull Request #485 · oceanprotocol/provider · GitHub (merged)
Update Provider.checkFileUrl to allow non-URL file types (like Arweave) by MantisClone · Pull Request #1627 · oceanprotocol/ocean.js · GitHub (ready for review)
Pass UrlFile object to Provider.checkFileUrl instead of string by MantisClone · Pull Request #1732 · oceanprotocol/market · GitHub (depends on ocean.js PR 1627, otherwise ready for review)
Add `arweave` file type to DDO spec by MantisClone · Pull Request #1019 · oceanprotocol/docs · GitHub (abandoned)
Add optional userdata to url storage type, add arweave storage type. by MantisClone · Pull Request #1082 · oceanprotocol/docs · GitHub (depends on market PR 1527, in progress)
Project Description
Mantis Data Solutions
Mantis Data Solutions is the legal entity wrapper around me, David Hunt-Mateo, also known as “MantisClone” online. I’m a full-stack web3 developer and I love building open-source software that runs on decentralized, permissionless networks.
Past work for OceanDAO:
- H2O Snapshot Strategy
- Arweave Integration - Milestone 1: Publish using Arweave Transaction ID - Backend
Current Project: First-class Arweave Integration
Problem
Arweave’s unique value proposition of “permanent storage for a one-time fee” makes it an attractive storage medium for data publishers. By storing in Arweave, they can be certain their data will always be available for consumption without worrying about recurring storage costs that exist in other decentralized options like Filecoin or cloud options like AWS, Azure, or GCP.
Today, it is possible to publish an asset on Ocean Protocol that is stored in Arweave using an Arweave gateway URL. But there are problems with this approach:
- FIXED The download endpoint leaks the Arweave transaction ID as the filename, which uniquely identifies the document and allows the downloader to bypass Ocean Protocol altogether.
- By specifying the Arweave gateway URL, the asset is now dependent on a single Arweave gateway when in truth, any Arweave gateway would work.
- The Ocean Market doesn’t make it clear that storing data in Arweave is an option.
- The data publisher cannot upload their data to Arweave via the Ocean Market and must use a 3rd party interface instead.
Opportunity
Today, Arweave stores 95 TB of data. Arweave has over 70k followers on Twitter and over 15k members across its Discord servers.
Final Product
Solution
I propose a “first-class” integration between the Ocean Protocol and Arweave to be implemented in three phases:
Milestone 1: Publish using Arweave transaction ID
Once complete, data publishers can use a 3rd party interface to upload their data to Arweave, and then publish it in the Ocean Market by providing the Arweave transaction ID instead of a URL.
Milestone 2: Upload to Arweave - Backend
Once complete, data publishers can use ocean.py and ocean.js to upload their data to Arweave and publish it as an asset on the Ocean market in a few programmatic steps.
Milestone 3: Upload to Arweave from the Ocean Market
Once complete, data publishers can copy/paste or drag/drop their data into the Ocean market. The market will upload the file to Arweave and use the resulting transaction ID to publish the asset.
Value Add Criteria
Usage of Ocean
First-class integration with Arweave will drive data publish volume. Data publishers want to use Arweave because it eliminates ongoing storage costs. Instead, there's a single upfront cost to store the data, permanently.
Viability
Chances of success are high - I can leverage my existing knowledge of the Ocean Protocol core tech stack and relationships with the core team to push this project to completion.
Community Engagement
I am deeply engaged with the Ocean Protocol community:
- I worked at the Ocean Protocol Foundation from April 2021 to June 2022
- I have attended the core tech working group meetings since June 2022
- I frequently provide dev support on Discord
Community Value
I believe my project helped galvanize the rising tide of ocean community builders to pursue core tech improvements.
Core Team
David Hunt-Mateo (aka. MantisClone)
Role: Full-stack Web3 Software Developer
Relevant Credentials (e. g):
- B.S. double major in Computer Engineering and Computer Science from the University of Wisconsin - Madison,
- CompTIA Security+ ce Certification, Credential ID BP4DZZ1NKK1EYNSP
Github: https://github.com/MantisClone
Linkedin: https://www.linkedin.com/in/david-hunt-mateo/
Background/Experience:
- Developed Snapshot voting strategies for Arrakis, H2O, and Rari Fuse
- 1 year at Ocean Protocol Foundation maintaining the ocean.py SDK, aquarius event cache, and provider access proxy. Developed features and tests for Ocean ONDA V4.
- 3 years at Think-A-Move building a cross-platform, on-device, noise-robust speech recognition system along with desktop and native Android apps showcasing its capabilities.
- 4 years at Northrop Grumman working on a variety of projects including GUI integration testing, experimental low-latency networking, hardware emulation, and embedded image processing.
Advisors
N/A
Funding Requested
8000
Minimum Funding Requested
Wallet Address
0x1EC1CcEF3e1735bdA3F4BA698e8a524AA7c93274