Можно ли заранее определить умные контракты в genesis.json? - PullRequest
0 голосов
/ 25 апреля 2018

Я столкнулся с точно такой же проблемой, как и этот https://ethereum.stackexchange.com/questions/7707/is-it-possible-to-preload-contracts-in-the-genesis-block?rq=1

Agian, можно ли заранее определить контракт, назначив в поле alloc -> code, например,

enter image description here

Однако, похоже, что независимо от того, какой метод в контракте я вызываю, он всегда возвращает байт-код самого контракта, независимо от логики и содержания этого метода.

enter image description here

И это может быть причиной развертывания контракта:

enter image description here

Когда яВызовите test (), получив:

enter image description here, который не является строкой.

Когда я вызываю test2 (), получим:

enter image description here, что является очень большим числом.

Когда я вызываю test3 (1), получаю false, который не равен 1 == 1.

Я взялПосмотрев связанные темы, нашел это, https://ethereum.stackexchange.com/questions/30366/how-does-the-genesis-json-file-define-the-initial-state-of-the-blockchain

Похоже, настройка хранилища необходима, но я совершенно не знаю, какой ключ / значение мне следует написать.

Как можноЯ занимаюсь этим делом тогда?

1 Ответ

0 голосов
/ 25 апреля 2018

Однако, кажется, что независимо от того, какой метод в контракте я вызываю, он всегда возвращает байт-код самого контракта, независимо от логики и содержания этого метода.

Этозвучит для меня, как будто вы включили --bin вместо --bin-runtime из solc

Как вы сгенерировали code для включения?

Код --bin - это кодзапускается в транзакции создания контракта , которая возвращает фактический код, который должен быть включен в контракт (т. е. --bin-runtime).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...