Dapps

使用區塊鏈儲存至少有兩個人簽名的教育證書。這可以在乙太坊上做到嗎?

  • October 5, 2017

客觀的:

我想建立一個公共區塊鏈,人們可以將他們的教育證書放在鏈上。證書的頒發者和接收者都在證書上簽名,以驗證證書的來源和提供者。

憂慮:

首先,我認為僅僅因為管理它的 gas 成本太荒謬,就將 EVM 視為一個儲存單元是非常不可行的。這讓我認為我必須將儲存單元放在一個鏈下 DAPP 上,每當有人通過在 EVM 中執行智能合約送出新證書時,該 DAPP 可能會定期更新。

其次,我不確定乙太坊是否支持創建證書的智能合約,該證書包含發行者和接收者的“簽名”作為變數。我讀過的大多數文章都是關於多重簽名錢包的,但不一定是關於在合約生成的對像上放置多個簽名。

問題:

  1. 我設計這個 DAPP 結構的最佳方式是什麼?
  2. 如何使使用者能夠使用 Solidity 將多個簽名放在證書上(如果可能的話)?
  3. 我的提議是否超出了 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 的後端來說可能就足夠了。

希望這可以幫助!

引用自:https://ethereum.stackexchange.com/questions/27874