Solidity
將動態數據傳遞給合約
我正在嘗試將記錄儲存在應該具有任意數量欄位的契約中。例如,除了一些固定欄位外,一條記錄還有“比特率”、另一條“ISBN”等。將這些欄位儲存為字元串 => 字元串映射是很自然的。
現在,問題是,我如何將這些欄位傳遞給契約,以及如何取回它們?即使是最新版本的 Solidity v0.8,也不允許在公共合約函式中使用映射。我正在考慮發送字元串並在契約中解析它們,但肯定有使用低級函式的更“原生”Solidity 方式嗎?
您提供的範例非常適合 bytes32 ,它們可以作為數組傳輸到合約中,可以在內部拆分成對。
如果你只是想通過合約傳輸大數據而不在其中進行處理,那麼最好使用去中心化文件系統(IPFS、Ethereum Swarm)或云儲存,並將數據文件的連結放在區塊鏈中。