[英]Remix solidity does not return result on private ethereum chain
我剛開始學習以太坊和混音,這個問題對你來說可能很愚蠢。
我在嵌入在 remix ide 中的 javascript vm 上嘗試了以下代碼,它工作得很好,但它無法在我早期設置的私有鏈上返回字符串,即使它沒有報告任何錯誤。 我使用的solidity代碼如下。
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.7;
contract Greeter {
function greet() external pure returns(string memory) {
return "Hello, World!";
}
}
任何人都可以提供一些想法我可能會出錯嗎? PS 我設置miner.start()
,並使用以下腳本啟動私有鏈:
geth --datadir data --networkid 18810100026 --port 60000 --rpc --rpcport 8100 --rpcaddr 0.0.0.0 --bootnodes enode://****73c2e56ed109f7ab559bc0df26e01e4a72c4eef660d0853e8c241a737b43bd7f7da32d22e272fe187f7063d9559691@****:30301 --rpcapi eth,web3,miner,admin,personal,net --rpccorsdomain "*"```
geth version is 1.7.3
我認為有兩個事實可能導致這樣的錯誤
geth
更新到當前的最新版本。所以我做了兩個修改來解決這樣的問題
geth
更新到 1.10.17puppeth
自動生成的 genesis json 文件中添加兩行,如下{
"config": {
...
"byzantiumBlock": 4,
"constantinopleBlock": 5,
...
},
...
之后問題就解決了。
我覺得你的合同沒問題!
我將您的代碼復制到 Remix 0.23.3 上的新合約中,並返回問候功能:“Hello,World!”
也許你在另一個版本中使用了 remix ide,或者你的 ide 有錯誤。 我建議您使用其他瀏覽器進行混音或使用其他 ide 來獲得穩固性,例如安全帽https://hardhat.org/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.