Solidity
重新混合瀏覽器和仲裁本地節點
當我嘗試在 remix 瀏覽器中使用 quorum 本地節點部署任何合約時,其solidity 版本高於0.5.0,合約被部署,但任何互動交易(獲取/更新)合約顯示錯誤。
誰的節點:
版本:quorum-v2.4.0
堅固性:
Solc 版本:0.6.1 / 0.5.16
契約:
pragma solidity ^0.6.1; contract Sample{ struct Structure{ uint a; string b; } mapping(string => Structure) public s; function add(uint a, string memory b)public { s[b] = Structure(a,b); } }
誰能告訴我如何解決這個問題。
所以從 Quorum v2.4.0 開始,底層的 geth 仍然是 v1.8.x。這意味著您在使用 remix 和其他 Solidity 編譯器時可能會使用硬分叉和 EVM 更改。
首先,您需要確保在 Quorum genesis 中啟用了所有支持的硬分叉,快速參考是我們自己的 quourm-examples 項目:https ://github.com/jpmorganchase/quorum-examples/blob/master/範例/7nodes/genesis.json#L20
然後你應該堅持使用 solc 0.5.x,直到我們升級到 geth 1.9.x。這正在進行中,幾週後應該會發布。