Solidity 应该处理 Dapp 中的分页吗?
Posted
技术标签:
【中文标题】Solidity 应该处理 Dapp 中的分页吗?【英文标题】:Should Solidity handle the Paging in a Dapp? 【发布时间】:2021-12-19 22:12:18 【问题描述】:我正在使用智能合约来存储可以增长的动态数组。我想在浏览器中呈现这个列表,通常会使用 web3 并发送 call() 从区块链中获取列表。但是,由于该数组可能包含数千个元素,由于 gas 价格高,我不想这样做。
在 Solidity 合约中实现数据分页是否合适?如果没有,还有哪些其他选择?
【问题讨论】:
【参考方案1】:由于数组可能包含数千个元素,由于 gas 价格高,我不想这样做
.call() web3 方法调用eth_call RPC 方法,该方法是无气体的。
它不能更改合约状态(更新存储、发出事件,...),但如果您只是读取数据,这在您的用例中并不重要。建议仅将 call()
方法与标有 view
或 pure
state mutability 修饰符的 Solidity 函数结合使用。
【讨论】:
以上是关于Solidity 应该处理 Dapp 中的分页吗?的主要内容,如果未能解决你的问题,请参考以下文章