Solidity

記錄誰發送了代幣,智能合約

  • January 28, 2018

我正在嘗試創建一個合約,只允許確實向代幣發送 wei 數量的人通過記錄所有地址和數量來訪問 get 函式。可以這樣做嗎?我可以使用這些事件嗎?如果是的話,契約如何獲得它自己的事件歷史。謝謝

合約無法讀取事件:事件是為節點驗證區塊時不需要讀取的數據而設計的,這就是它們比正常儲存便宜的原因。

您可以將發送 wei 到您的合約的使用者的數據儲存在合約儲存中,通常通過在合約收到 wei 時更新映射,儘管這意味著更高的 gas 成本。

您可以在作為交易的一部分呼叫 get 函式時限制對它的訪問,但請注意,您的合約儲存的所有資訊都在區塊鏈上公開可用,因此即使您的函式沒有,人們仍然可以讀取它不允許他們這樣做。

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