project screenshot 1
project screenshot 2
project screenshot 3

Gadus CLI

CLI package for running 3D surface reconstruction through decentralized compute.

Gadus CLI

Created At

ETHGlobal Paris

Winner of

trophy

🐟 Filecoin — Best use of FVM & Bacalhau

trophy

🥉 DFNS — Best Use

Project Description

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:

  • The Plex Library from LabDAO for the inspiration https://docs.labdao.xyz/
  • LilyPad https://github.com/bacalhau-project/lilypad
  • Us and ourselves https://theextraproject.xyz/

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).

How it's Made

The Gadus CLI project has been published in the GitHub repository accessible on this page. It consists of the following packages and functionalities:

  1. apps/cli: Consist of the terminal functions that developers can run to submit the compute job operations on-chain

  2. 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

  3. 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.

background image mobile

Join the mailing list

Get the latest news and updates