Dapps
使用區塊鏈儲存至少有兩個人簽名的教育證書。這可以在乙太坊上做到嗎?
客觀的:
我想建立一個公共區塊鏈,人們可以將他們的教育證書放在鏈上。證書的頒發者和接收者都在證書上簽名,以驗證證書的來源和提供者。
憂慮:
首先,我認為僅僅因為管理它的 gas 成本太荒謬,就將 EVM 視為一個儲存單元是非常不可行的。這讓我認為我必須將儲存單元放在一個鏈下 DAPP 上,每當有人通過在 EVM 中執行智能合約送出新證書時,該 DAPP 可能會定期更新。
其次,我不確定乙太坊是否支持創建證書的智能合約,該證書包含發行者和接收者的“簽名”作為變數。我讀過的大多數文章都是關於多重簽名錢包的,但不一定是關於在合約生成的對像上放置多個簽名。
問題:
- 我設計這個 DAPP 結構的最佳方式是什麼?
- 如何使使用者能夠使用 Solidity 將多個簽名放在證書上(如果可能的話)?
- 我的提議是否超出了 EVM 允許人們做的範圍?
您應該使用一個映射來儲存證書,並使用兩個映射來按頒發者和接收者進行索引。最好的方法可能是發行者和接收者都是乙太坊地址。
struct cert { uint256 certId; address issuerAddress; address recipientAddress; string certContent; timestamp issuingDate; } mapping (uint256 => cert) certificates; mapping (address => uint256) certificatesByIssuer; mapping (address => uint256) certificatesByRecipient;
開發一些功能來添加新證書和查詢給定證書對於 DApp 的後端來說可能就足夠了。
希望這可以幫助!