visoftsolutions / ksox

Cryptocurrency Exchange & Crypto Payment Processor, powered by zk-STARK
3 stars 0 forks source link

Implement Rust Interface for Blockchain Communication using ethers-rs Crate #7

Closed Okm165 closed 1 year ago

Okm165 commented 1 year ago

Description:

I would like to assign a task to develop a Rust module that serves as an interface for communicating with a blockchain. We will be using the alchemy provider for this purpose. The module should provide the following functionalities:

  1. Subscribe to Blockchain Events:

    • Ability to subscribe to specific blockchain events (e.g., "block mined") and receive a stream of these events as Rust Stream objects.
    • Support for subscribing to events from a specific smart contract, such as "Withdraw event" for a particular user, and returning a stream of objects.
  2. Calling Smart Contract Methods:

    • Ability to call methods on smart contracts and retrieve data from them.

To accomplish this task, I recommend utilizing the ethers-rs Crate. This library provides helpful abstractions and utilities for interacting with Ethereum, including the ability to specify the HTTP provider or WebSocket provider, as well as the contract's ABI.

To get started, please create a new blockchain module within the server crate and begin working on the implementation. Feel free to ask me any questions if you require clarification or guidance on the best approach for development.

Please ensure that the resulting interface is robust, flexible, and meets the requirements mentioned above. If you encounter any uncertainties or believe that additional information is necessary, please don't hesitate to ask for further clarification.