Remix solidity 不会 return 导致私有以太坊链
Remix solidity does not return result on private ethereum chain
我刚刚开始学习 ethereum 和 remix,这个问题对你来说可能看起来很愚蠢。
我在 javascript vm embedded inside remix ide 上尝试了以下代码,它工作得很好,但它无法 return 私有字符串我很早就建立了链,即使它没有报告任何错误。我使用的 solidity 代码如下。
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.7;
contract Greeter {
function greet() external pure returns(string memory) {
return "Hello, World!";
}
}
任何人都可以证明ide 一些 idea 我可能会出错的地方吗?
P.S。我已经设置了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
screenshot of contract running on private chain
screenshot of contract running on javascript VM
我觉得你的合同没问题!
我将你的代码复制到 Remix 0.23.3 的新合约中,并且 return 问候功能:“Hello, World!”
也许您在另一个版本中使用了 remix ide 或者您的 ide 有错误。
我建议你使用另一个浏览器进行混音或另一个 ide 像安全帽 https://hardhat.org/
一样坚固
我的问候结果:
我认为有两个事实可能导致这样的错误
- 我没有更新
geth
到当前最新版本。
- 我没有正确初始化创世块。
所以我做了两次修改来解决这样的问题
- 将
geth
更新为 1.10.17
- 在
puppeth
自动生成的 genesis json 文件中添加两行,
如下
{
"config": {
...
"byzantiumBlock": 4,
"constantinopleBlock": 5,
...
},
...
后来问题解决了
我刚刚开始学习 ethereum 和 remix,这个问题对你来说可能看起来很愚蠢。
我在 javascript vm embedded inside remix ide 上尝试了以下代码,它工作得很好,但它无法 return 私有字符串我很早就建立了链,即使它没有报告任何错误。我使用的 solidity 代码如下。
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.7;
contract Greeter {
function greet() external pure returns(string memory) {
return "Hello, World!";
}
}
任何人都可以证明ide 一些 idea 我可能会出错的地方吗?
P.S。我已经设置了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
screenshot of contract running on private chain
screenshot of contract running on javascript VM
我觉得你的合同没问题!
我将你的代码复制到 Remix 0.23.3 的新合约中,并且 return 问候功能:“Hello, World!”
也许您在另一个版本中使用了 remix ide 或者您的 ide 有错误。 我建议你使用另一个浏览器进行混音或另一个 ide 像安全帽 https://hardhat.org/
一样坚固我的问候结果:
我认为有两个事实可能导致这样的错误
- 我没有更新
geth
到当前最新版本。 - 我没有正确初始化创世块。
所以我做了两次修改来解决这样的问题
- 将
geth
更新为 1.10.17 - 在
puppeth
自动生成的 genesis json 文件中添加两行, 如下
{
"config": {
...
"byzantiumBlock": 4,
"constantinopleBlock": 5,
...
},
...
后来问题解决了