dfinity / grant-rfps

Grant RFPs and Bounties
Apache License 2.0
52 stars 11 forks source link

RFP-4: HTTPS Outcalls #6

Open domwoe opened 1 year ago

domwoe commented 1 year ago

Overview

On the Internet Computer blockchain, canister smart contracts can make HTTP outcalls to specified URLs, either to directly obtain off-chain data or to interact with off-chain systems, such as Web 2.0 services or enterprise IT infrastructure. The results of these calls are processed and agreed upon by consensus, preventing non-determinism. This avoids the need for trusted oracles and bridges.

Areas for Proposals

Novel applications and infrastructure

Oracles

HTTPS outcalls allow canisters to fetch data from web services. The canister can then provide this data to other canisters as a service. Robust oracle implementations will fetch data from different web services and aggregate the responses.

Example applications are:

Web 2.0 Service Integrations

There are web services that provide APIs to send emails, text messages, push notifications, and all kinds of other integrations. HTTPS outcalls allow canister developers to leverage these capabilities.

Since the call to the web service will be replicated it's important to look for web services that support idempotency.

Your unique idea

Of course, we are also excited to support you in the implementation of novel use cases that we haven't thought of.

Libraries and Tooling

Examples are libraries that simplify the integration of specific web services.

Tutorials and well-documented Sample Applications

Tutorials in written and/or video form as well as well-documented example applications help new developers get started.

How to apply?

Please submit your application at https://dfinity.org/grants

References

lawmeskiviahs commented 10 months ago

Hi @domwoe. This is what I understood by this RFP: We need to develop a library that allows canister developers to get prices of different coins or other utilities. Internally this library uses https_outcalls to fetch the prices from multiple providers and then it decides on the final result that will be provided to the canister code that will be used for further usage. Am I correct? I would like to work on this.

mahmudsudo commented 6 months ago

is this still opened , can i take on this

reuben-he commented 5 months ago

finished?

zensh commented 1 month ago

Idempotent Proxy can be used to proxy HTTPS Outcalls for ICP canisters, enabling integration with any Web2 service.