Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Problem: Truf Network need to own Solidity Smart Contracts

Đang mở
#744 5 bình luận 1 reaction 2 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@rsoury đang làm issue này rồi.

Từ ngày 29/11/2024.

Đánh giá

Issue này chưa được đánh giá.

Mô tả

If I understood the specs correctly, the scope is also to propose a permissionless initial billing strategy, whereas, on Nuon, it could be a contract whitelisted for the Nuon owner/consumers, which simplifies.

@outerlook - after a little looking, and since we proceeding with the CF approach, we're going to need to create our own Solidity Smart Contracts.

This is primarily because CF has a whitelisting mechanism for "consumer" contracts.
Furthermore, there's a cap of 100 "consumer" contracts.

Therefore, our new contract will be a single "consumer", that allows for any number of calling contracts to request Truf data.

The function of these Contracts are to:

  1. Proxy incoming calls from foreign contracts to Chainlink
    1. Here, calling contracts must transfer TRUF tokens to the Proxy in order to facilitate the Chainlink request.
    2. We must ensure this Proxy is funded with LINK tokens too.
    3. The TRUF token will remain in the Contract - but there must be a Administrative function to withdraw these tokens to a wallet that is predetermined by the Admin. ie. Admin wallet can only trigger a function to withdraw to a SAFE multi-sig.
  2. Facilitate billing dynamics.
    We can either use a hook paradigm where upgradeability is only enabled on the hook contract, or we can couple the contracts and make them both upgradeable.
    The latter is a little less secure, but we're going to need to manage security around Admin keys anways.
    I think zero-trust Admin mechanisms are required - I have plans for this, but in the meantime, there should really be only a single person with access to the Admin wallet....
    Or better yet, we make the SAFE wallet that is designated to receive the TRUF tokens as immutable...

@Jarryd-pretorius - What's your take on this?
Zero-trust protocol around key management is something I can propose, but do you have suggests for interim security processes around super-sensitive key management (ie. Contract Admin)?

The best approach to execute this is for Raffael or Michael to try their hand at the Solidity Contracts.

Then I'll review the Contracts before we deploy them.

Additionally, these Contracts will need 100% unit test coverage (ideally in Foundry, but can also be in Hardhat)
Furthermore, deployment scripts are necessary for the Contracts.


Alternative 1: We manually whitelist "consumer" contracts (customers) to use our CF Oracle.
The customers essentially pay us off-chain, and use LINK to execute directly against Chainlink Contracts.


Alternative 2: Giving the CF code to customers to deploy themselves... essentially handing over Serverless Oracle management.


Of course, the first strategy gives us more control over automated TRUF powered billing of data across Chains... but has more technical overhead.

Originally posted by @rsoury in https://github.com/trufnetwork/node/issues/547#issuecomment-2505016845

Ngôn ngữ chính
Go
Star
7
Fork
3
Merge trung bình
14 giờ 30 phút
Pull request đã merge (30 ngày)
12

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của trufnetwork/node

Tất cả issue của trufnetwork/node

Issue tương tự

Thêm issue về Go

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.