Solidity
我如何測試這個可靠性合約(比如說)5000 次呼叫 set 函式(.sol 或 .js)?
// SPDX-License-Identifier: MIT pragma solidity >=0.5.16; contract storeData { uint256 internal index = 0; struct IslandFcst { uint islandId; uint forecastDate; uint forecastValue; } mapping(uint256 => IslandFcst) islandfcst; function setData(uint _islandId, uint _forecastDate, uint _forecastValue) public { islandfcst[index] = IslandFcst(_islandId, _forecastDate, _forecastValue); index++; } function getData(uint256 _index) public view returns(uint, uint, uint) { return ( islandfcst[_index].islandId, islandfcst[_index].forecastDate, islandfcst[_index].forecastValue ); } }
您應該感興趣的唯一性能指標是gas cost。
測試你的契約的速度真的沒有意義。您收到結果所需的時間主要取決於所用節點的容量、網路延遲和數據量。
如果您使用自己的節點(99% 的開發人員不使用 - 他們使用 Infura 或 Alchemy 等服務提供商),那麼測試其性能可能會有點*意義。*但是,並非如此。測試服務提供商節點的性能是沒有意義的。
無論如何,從區塊鏈讀取數據都很慢(為什麼本地讀取這麼慢?)。