Mantis Data Solutions
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.
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.
The 47 hours included in this request can be seen in the following image, outlined in red.
- 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.
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.
I recently signed a contract with the Ocean Shipyard program. The scope of the contract does not overlap with the scope of this proposal.
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 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)
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
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.
Today, Arweave stores 95 TB of data. Arweave has over 70k followers on Twitter and over 15k members across its Discord servers.
I propose a “first-class” integration between the Ocean Protocol and Arweave to be implemented in three phases:
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.
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.
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.
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.
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.
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
I believe my project helped galvanize the rising tide of ocean community builders to pursue core tech improvements.
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
- 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.