我正在在以太坊區塊鏈上試驗智能合約。假設我有一個合同,就像SimpleStorage.sol找到了in the Solidity documentation,它有一個任何人都可以訪問的存儲狀態。爲紐帶描述,智能合同如何處理多個用戶和不同的存儲?
任何人都可以只調用再次用不同的值設置並覆蓋你的電話號碼
這將導致問題,並限制該功能的可訪問特定帳戶的解決方案在我的用例中不適合。在我的合同中,我希望每個賬戶設置的數據稍後可以通過一個不同的預定賬戶訪問(想想一個人A-> B的關係,B只使用A中的數據,而x-> y其中y使用數據完全來自x.Y可以使用A的數據不存在重疊)。根據我的理解,這個問題有兩種解決方案:
- 將地址互相映射並跟蹤此單一智能合約中的所有數據。
- 擁有初始賬戶可以訪問的智能合約「模板」,併爲每個新賬戶生成單獨的智能合約,以簡單地保存與模板交互的數據。
與的問題時,帳戶之間的關係變得更加複雜(地圖獨立結構?)或大量的人試圖來存儲他們在合同信息中出現。
問題與是冗餘。我真的需要爲試圖訪問主模板的每個人單獨制定一份「合同」嗎?
如果我的問題含糊不清,我可以更多解釋,但我主要是在尋找一個概念上的答案。我發現的大多數智能合約例子都非常簡單或不必要的複雜,並且不提供具體的用例。