Storage

從乙太坊區塊鏈儲存和檢索數據

  • August 12, 2021

我正在嘗試使用需要儲存學生分數的乙太坊智能合約建構一個簡單的應用程序。我應該如何儲存和檢索它們?

假設有學生,每個學生選修的科目很少。我的想法是將學生在特定科目中的分數儲存為交易,並且此類交易將被探勘到一個塊中。然後,我將在單獨的數據庫中記下該交易針對學生的區塊編號。該數據庫將儲存學生姓名/ID、科目和編號,我可以在其中找到學生的分數。

這是一個好方法嗎?此外,是否可以從多個塊中檢索數據(標記)以顯示合併的標記表?

如果我還想儲存學生對測試的回饋,我需要如何修改智能合約?

如果您能指導我看一個解釋儲存和數據檢索部分的智能合約範例/教程,我將不勝感激。提前謝謝了!

有不止一種方法可以做到這一點,例如:

選項1:

您可以創建一個包含一系列學生的智能合約。

例如,每個學生都是 Struct 類型,其中包含他們必要的資訊和每個科目的分數。

前任。

struct Student{
string Name;
string Surname;
uint Grade;
uint Subject1Mark;
uint Subject2Mark;
...
uint FinalMark;
etc.
}

然後,您可以通過引入每個學生的映射輕鬆地讀回學生資訊。

對於每個測試的學生測試回饋,您可以創建另一個稱為測試的結構並將每個學生的回饋儲存在其中。

另外一個選擇:

選項 2:

您可以創建一個包含一系列主題的智能合約。

每個科目都是 Struct 類型,包含每個科目的學生和他們的分數;

前任。

struct Subject1{
string[] Students;
uint[] Grades;
...
etc.
}

現在就主題而言,您可以通過映射呼叫使用者及其標記。

有多種方法可以通過結合使用結構和映射來解決此問題。我希望這能給你一些指導!

請注意: 在區塊鏈上儲存資訊可能會變得非常昂貴,因此如果您希望將資訊全部儲存在鏈上,請嘗試僅儲存必要的資訊。

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