该文档描述了一个去中心化稿费领取机制的实验性方案,旨在通过AA、zkEmail、TLSNotary等技术,实现稿费由链上合约自动发放,审稿人直接在链上给出稿费金额并由合约取平均值,作者可以直接到链上领取稿费。该方案包含合约实现、前端开发,并计划输出技术分享文章。
####### tags: TEM
Johnson
去中心化領稿費机制實驗
目前的 TEM Medium 稿費領取机制為中心化,文章在 Telegram Reviewer 群組裡審完後由各自審稿人給出稿費金額並取平均,接著由稿費發放者手動在鏈上轉稿費至文章作者的地址。這個 Grant 想要藉著這個機會實驗新技術(AA、zkEmail、TLSNotary 等),嘗試在生活中的例子用上這些技術,而 TEM Medium 的稿費領取机制剛好適合作為實驗對象。希望能透過這些技術的結合,在不影響審稿人與投稿人的使用體驗前提下,讓稿費領取机制能更去中心化。
這個實驗性的 Grant 希望能做出一個去中心化的稿費發放系統:
這個系統會透過抽象帳戶讓審稿人及文章作者用簽名的方式就可以完成操作,在這個基礎之上可考慮加上審稿人隱私保護,以及用 TLSNotary 取代 Oracle。
這個 Grant 會需要
這個版本的審稿人地址及給的稿費金額會是公開的,另外依然需要一個 Oracle 來作證「文章 <-> 作者的鏈上地址」這件事。
USD$ 2000
RoyaltyAutoClaim
)、前端
RoyaltyAutoClaim
合約:管理稿費批准與發放RoyaltyAutoClaim
合約互動RoyaltyAutoClaim
合約Admin 將新投稿的文章的題目及投稿人地址登記至 RoyaltyAutoClaim
合約
(至少兩位)Reviewer 決定一篇投稿的稿費。稿費有四個等級,最終稿費取所有 Reviewer 的稿費平均。稿費等級:
投稿人到 RoyaltyAutoClaim
合約領取稿費
RoyaltyAutoClaim
合約validateUserOp
函式
一篇投稿會有三種狀態:
NotExist
)Registered
)Claimed
)function inititlaize(address owner, address admin, address token, address[] reviewers)
token
為稿費幣種的代幣地址function updateReviewers(address[] reviewers, bool[] status)
status=true
表示註冊 Reivewer; false
表示註銷 Reviewerfunction registerSubmission(string title, address royaltyRecipient)
Registered
function reviewSubmission(string title, RoyaltyLevel royaltyLevel)
Registered
才可執行RoyaltyLevel
對應稿費的四個等級function isSubmissionClaimable(string title) view returns (uint256 royalty)
Registered
0
;如果通過,返回 Reviewer 們給出的稿費的平均值function claimRoyalty(string title)
isSubmissionClaimable
返回 >0
的值Claimed
function updateRoyaltyRecipient(string title, address newRoyaltyRecipient)
Registered
(不能是 Claimed
)才可執行(Optional) function revokeSubmission(string title)
function transferOwnership(address newOwner)
function changeAdmin(address newAdmin)
function changeRoyaltyToken(address newRoyaltyToken)
function upgradeToAndCall(...)
- 本文转载自: hackmd.io/@nic619/SkZDIp...
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!