3

我遇到了与此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 -区块链

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

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

4

1 回答 1

7

但是,似乎无论我调用合约中的哪个方法,它总是返回合约本身的字节码,而不管该方法的逻辑和内容如何。

这听起来像你包括--bin而不是--bin-runtime来自solc

您是如何生成code要包含的?

--bin代码是在合约创建交易上运行的代码,它返回要包含在合约中的实际代码(即--bin-runtime)。

于 2018-04-25T13:34:38.187 回答