Solidity

將動態數據傳遞給合約

  • January 12, 2021

我正在嘗試將記錄儲存在應該具有任意數量欄位的契約中。例如,除了一些固定欄位外,一條記錄還有“比特率”、另一條“ISBN”等。將這些欄位儲存為字元串 => 字元串映射是很自然的。

現在,問題是,我如何將這些欄位傳遞給契約,以及如何取回它們?即使是最新版本的 Solidity v0.8,也不允許在公共合約函式中使用映射。我正在考慮發送字元串並在契約中解析它們,但肯定有使用低級函式的更“原生”Solidity 方式嗎?

您提供的範例非常適合 bytes32 ,它們可以作為數組傳輸到合約中,可以在內部拆分成對。

如果你只是想通過合約傳輸大數據而不在其中進行處理,那麼最好使用去中心化文件系統(IPFS、Ethereum Swarm)或云儲存,並將數據文件的連結放在區塊鏈中。

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