CLI package for running 3D surface reconstruction through decentralized compute.
In the early 2000s, Google Maps built a monopoly on 2D maps through massive investments. The consequences still affect business models and opportunities for builders today.
Nowadays, 3D maps are the next frontier. We plan to use decentralization to make them a public good.
Unlike the early 2000s, today's world is packed with sensors capable of producing geospatial data. But to process this data into a usable resource, we'll need efficient, scalable and cheap compute power.
A decentralized, compute over data solution like Bacalhau provides this and much more. It respects geographic boundaries and allows us to process data from providers that want to contribute to the 3D map without putting their raw data accessible to everyone. It should also be able to handle the huge amounts of data that geospatial applications require.
At this stage of the project we decided to build a CLI package to make it easy to run 3D surface reconstruction tools on top of Bacalhau. We integrated an existing pipeline, Lidarhdpip. It handles the 3D surface reconstruction itself, from raw 3D data (las.) to a visualization-ready file (3dtiles.).
Credits to:
Note: The name of the project "Gadus CLI" come from the latin word for cod (in a reference to Compute-over-Data, CoD, and to Bacalhau itself).
The Gadus CLI project has been published in the GitHub repository accessible on this page. It consists of the following packages and functionalities:
apps/cli: Consist of the terminal functions that developers can run to submit the compute job operations on-chain
apps/contracts: Consist of the contract that provides access to schedule the job directly on-chain with authentication as priority: Modicrum_adapter_contract.sol provides wrapper API for the client in order to schedule the jobs and to get the result after payment
apps/georender is the combined pipeline referenced from pre-existing geospatial data analysis pipeline (accessible here: https://github.com/The-Extra-Project/lidarhdpip).
For the library: libs/dfns: is the description of API's to create privateKey and is able to sign the offchain data.
A developer wanting to use decentralized computing for his 3D surface reconstruction for the first time would have to use the following steps:
Install CLI package
Create his wallet from DFNS (via the helper library defined in the libs/ folder) The wallet will be pre-funded with the test FIL tokens (required for payment on the testnet for running the job computation)
Call the npx cli create-lillypad-job <X> <Y> in order to create the jobId During the lifetime of the operation, only him will be able to cancel / reject the job using the command npx cli cancel-lillypad-job <resultId> etc.
Once the operation is done and the job result is accepted by the developer, he can recover the URL of the stored result and download the resulting rendered output.