Problem: Truf Network need to own Solidity Smart Contracts
まだ誰も着手していません。
評価
この issue はまだ評価されていません。
説明
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:
- 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.- 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
- 主要言語
- Go
- スター
- 7
- フォーク
- 3
- 平均マージ
- 3時間 2分
- マージ済み PR(30日)
- 13
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
trufnetwork/node のほかの issue
-
type: goal
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
trufnetwork/node#1436 ·
-
trufnetwork/node#1435 · 担当者 1 名 ·
-
trufnetwork/node#1429 · コメント 2 件 · 担当者 1 名 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
trufnetwork/node#1313 · コメント 2 件 · リアクション 1 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
trufnetwork/node#1200 · コメント 1 件 ·
trufnetwork/node の issue をすべて見る
似ている issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 60/100
github/gh-aw-mcpg#13748 ·
-
agentic-workflows
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
-
needs-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
googleapis/librarian#7670 · コメント 2 件 ·