[D11] - Mole Network 🏅

Mole Network is a interchain, cross-chain, and cross-network communication system that lets developers capture, manipulate, and store event data in a number of ways. It can act as an oracle, indexer, cross-chain bridge, and more.

Challenges

Using Tellor

Ranked 10,000 USDC

Hey y'all 🤙 So I didn't meet the exact requirements for this challenge, but I did do the following things which are pretty cool: - Wrote an ETL Spec that shows how one could use Mole Network as a Tellor data reporter (see: https://github.com/dgca/mole-network/blob/main/apps/mole-cli/src/etl-specs/mock-dig-to-tellor.ts) - Created a passthrough contract that receives a Mole Network data submission and forwards it to Tellor Playground. In the future, we could whitelist tellor data reporters who use the MoleNet CLI (see: https://github.com/dgca/mole-network/blob/main/libs/contracts/src/contracts/mocks/MockTellorProxy.sol) - Kinda sorta met the requirements by creating a contract that can read the Tellor values via UsingTellor that the mock ETL Spec submitted (see: https://github.com/dgca/mole-network/blob/main/libs/contracts/src/contracts/mocks/MockChiadoTellorReader.sol) Contracts addresses: - MockTellorProxy (Mumbai) - https://mumbai.polygonscan.com/address/0xf56Ff763325B249Efa0c4ab42D2A222662442254 - MockTellorProxy (Chiado) - https://blockscout.chiadochain.net/address/0x8A4FB88FD6f885eDB4f43621940CC3B85439d619 - MockChiadoTellorReader (Chiado) - https://blockscout.chiadochain.net/address/0x2FEdc8B2C27Dc2916ecE1dA5c16dC92C9858A767

#BUIDLathon 2023 Infrastructure + Scalability

Pool 15,000 USDC

Mole Network is a much needed core piece of web3 infrastructure. By focusing on the communication between data sources and destinations instead of the destination itself, we're created a product that is flexible enough to handle a large number of use cases. If you can describe a data source and destination in code, we should be able to support it.

Build on Base 🔵

Ranked 15,000 USDC

Are we the first multi-chain platform to deploy initially on Base? Would be pretty cool if we are! Hopefully the demo showed how easy this makes it to talk across chains. Enabling easier cross-chain communication lowers the bar to build on new chains, and we hope the day comes where Mole Network helps builders flock to new projects quicker than ever. Mock oracle contract: https://goerli.basescan.org/address/0x2FEdc8B2C27Dc2916ecE1dA5c16dC92C9858A767#code Cross-chain messenger: https://goerli.basescan.org/address/0xACbab79D1B9832668dBaCE93Bc25675FE0B23169#code

Most Useful Web3 Tool

Ranked 2,500 ETH

Though far from feature complete, there are parts of Mole Network that we've personally needed to use in the past. The ability to extract and load data, but not be tied down to one specific output is super powerful, and we're confident other developers will come up with use cases for this system that we would have never thought of. A developer could pull this down today, run a MoleNet node locally, and use this tool to help them develop with dynamic data.

Project details

Mole Network is an intrachain, cross-chain, and cross-network communication system that lets developers capture, manipulate, and store event data in a number of ways. It can act as an oracle, indexer, cross-chain bridge, and more.

What it is, exactly

Consumers

Mole Network lets users who need data from one or more on and off-chain sources get that data, transform it in whatever way they want, and send that transformed data to a destination which can be on-chain and (soon to be) off-chain. Let's call these user types Consumers.

Consumers create an ETL (Extract, Transform, Load) spec which describes what data sources to pull from, what functions to run that data through, and which destinations the output should be sent to. Data sources and destinations will include an expanding list of items, as the system is flexible enough for new items to be added easily.

Data sources can be events emitted on any EVM chain, as well as any web2 API endpoint.

Destinations can be any contract on any EVM chain. In the future, this could expand to anything that can receive a network request, including web2 endpoints, and non-EVM chains.

Data Reporters

Data Reporters fulfill Consumers' ETL specifications by providing network capacity via the MoleNet CLI.

Incentives

Data Reporters do not do this work for free, especially since writing data on-chain costs gas. In order to incentivize Data Reporters to report their data, Consumers will fund their ETL Specs with tips that the Data Reporters will receive for fulfilling their data requests.

Conversely, Data Reporters will be incentivized to publish correct data by needing to stake some amount of tokens in order to be allowed to report. If another reporter thinks someone is being duplicitous, they can report them; triggering a dispute mechanism where the party at fault will lose their stake and the counter party will be rewarded for keeping the system in check.

The Vision

Oracle? Bridge? Keeper?

Mole Network is neither, all, and more. We're intentionally thinking about Mole Network as a flexible communication layer between arbitrary sources and destinations. As the project grows, we're excited to see what other use cases our community comes up with.

Governance and ownership

We fully believe in the power of decentralization, and we intend Mole Network to be owned by our users. Both Data Reporters and Consumers will be granted ownership based on how much they use the system, which will allow them to decide the future of the protocol.