Solidity
如何使用solidity合約從文件中獲取數據以發揮作用?
假設我有一個選民數據列表,我想向函式 addVotersList 發送一個文件,以一鍵添加所有選民,而不是為每個選民一個一個發送數據
這是功能:
function addVotersList(string name,uint id , address voter)public restricted { .... }
您不能將文件發送到該函式。但是,如果您想一鍵完成所有過程,則可以使用數組。
function addVotersList(string[] calldata name,uint[] calldata id , address[] calldata voter) external
我改變了功能可見性。因為如果您在參數中獲取數組,外部非常節省氣體。我在所有參數中添加了 calldata 關鍵字。再次,它是為了節省氣體。
Solidity 不讀取外部文件。如果您想添加選民列表,請使用數組提供他們。例如 :
function addVotersList(string[] calldata _names,uint[] calldata _ids , address[] calldata _voters)public { for (uint i = 0; i < _names.length; i++) { global_names[i]=_names[i]; global_ids[i]=_ids[i]; global_voter[i]=_voter[i]; } }