Тело:
Я работаю над проектом Spring Boot, который взаимодействует со смарт-контрактами Ethereum. Я использую Web3j для компиляции контрактов Solidity и создания ABI, двоичных файлов и классов-оболочек Java. Однако сгенерированные классы-оболочки содержат следующие проблемы:
/home/abdulmueedshahbaz/springboot/eth/eth/src/main/java/generated/com/zuehlke/blockchain/model/HelloWorld.java:204:51
java: cannot find symbol
symbol: class LinkReference
location: class org.web3j.tx.Contract
Эта ошибка предполагает, что класс LinkReference отсутствует в сгенерированном коде.
Неверное имя пакета:
Сгенерированные классы-оболочки имеют неправильное имя пакета, что противоречит структуре моего проекта и препятствует правильному импорту.
< /li>
Из-за этих проблем я не могу запустить мое приложение Spring Boot.
Моя настройка: Зависимости (Maven):
[b]Тело:[/b] Я работаю над проектом Spring Boot, который взаимодействует со смарт-контрактами Ethereum. Я использую Web3j для компиляции контрактов Solidity и создания ABI, двоичных файлов и классов-оболочек Java. Однако сгенерированные классы-оболочки содержат следующие проблемы: [list] [*][b]Ошибка компиляции:[/b] [code]/home/abdulmueedshahbaz/springboot/eth/eth/src/main/java/generated/com/zuehlke/blockchain/model/HelloWorld.java:204:51 java: cannot find symbol symbol: class LinkReference location: class org.web3j.tx.Contract [/code] Эта ошибка предполагает, что класс LinkReference отсутствует в сгенерированном коде.
[*] [b]Неверное имя пакета:[/b]
Сгенерированные классы-оболочки имеют неправильное имя пакета, что противоречит структуре моего проекта и препятствует правильному импорту. < /li> [/list] Из-за этих проблем я не могу запустить мое приложение Spring Boot. Моя настройка: [b]Зависимости (Maven):[/b] [code]
[/code] Шаги, которые я выполнил: [list] Добавил файлы Solidity в src/main/resources/solidity/ . [*]Запустил mvn web3j:generate-sources, чтобы сгенерировать классы ABI, двоичные файлы и оболочки. [*]Попытка сборки и запуска приложение. [/list] Проблемы: [list] [*]Класс-оболочка HelloWorld.java ссылается на LinkReference класс, которого, похоже, не существует в org.web3j.tx.Contract. [*]Сгенерированные классы-оболочки Java имеют имя пакета ([code]com.zuehlke.blockchain.model[/code]), который не соответствует моей предполагаемой структуре проекта. [/list] Вопрос: [list] [*]Как устранить ошибку отсутствия LinkReference в классах-оболочках, созданных Web3j? [*]Есть ли способ гарантировать, что во время оболочки используется правильное имя пакета генерация классов? [*]Известны ли какие-либо проблемы совместимости между контрактами Web3j (v5.0.0) и Solidity? [/list] Будем очень признательны за любые рекомендации!