是否可以在genesis.json中预定义智能合约?

Sab*_* Yu 2 blockchain ethereum solidity smartcontracts go-ethereum

我遇到了与此问题完全相同的问题https://ethereum.stackexchange.com/questions/7707/is-it-possible-to-preload-contracts-in-the-genesis-block?rq=1

Agian,是否可以通过分配alloc - > code字段来预定义合约,

在此输入图像描述

但是,似乎无论我调用的合约中的哪个方法,无论此方法的逻辑和内容如何,​​它总是返回合同本身的字节码.

在此输入图像描述

这可能是我部署合同的原因:

在此输入图像描述

当我调用test()时,获取:

在此输入图像描述 这不是一个字符串.

当我调用test2()时,获取:

在此输入图像描述 这是一个非常大的数字.

当我调用test3(1)时,获取false,这不是1 == 1.

我已经浏览了相关的主题,发现了这个,https://ethereum.stackexchange.com/questions/30366/how-does-the-genesis-json-file-define-the-initial-state-of-the -blockchain

看起来存储设置是必要的但我完全不知道我应该写什么键/值.

那我怎么处理这个案子呢?

kiz*_*zx2 5

但是,似乎无论我调用的合约中的哪个方法,无论此方法的逻辑和内容如何,​​它总是返回合同本身的字节码.

这听起来像你包括--bin而不是--bin-runtimesolc

你是如何产生code被包括的?

--bin代码是运行代码的合同创建交易,它返回被列入合同(这是实际的代码--bin-runtime).