GithubHelp home page GithubHelp logo

consensys / quorum-dev-quickstart Goto Github PK

View Code? Open in Web Editor NEW
125.0 27.0 94.0 10.93 MB

The Quorum Developer Quickstart utility can be used to rapidly generate local Quorum blockchain networks for development and demo purposes using Besu and GoQuorum

License: Apache License 2.0

Shell 4.60% Dockerfile 0.61% JavaScript 19.42% TypeScript 11.37% Solidity 62.98% HTML 0.96% CSS 0.07%
ethereum quorum blockchain hyperledger-besu docker

quorum-dev-quickstart's Introduction

Quorum Dev Quickstart

Table of Contents

  1. Prerequisites
  2. Usage

Prerequisites

To run these tutorials, you must have the following installed:

⚠️ Note: If on MacOS or Windows, please ensure that you allow docker to use upto 4G of memory or 6G if running Privacy examples under the Resources section. The Docker for Mac and Docker Desktop sites have details on how to do this at the "Resources" heading
⚠️ Note: This has only been tested on Windows 10 Build 19045, WSL2 and Docker Desktop
  • On Windows, please use WSL2 kernels 5.15x or higher
  • You can use either Docker Desktop or docker-engine (with the compose plugin) within the WSL2 environment
  • Nodejs or Yarn

Usage

Create the docker compose file and artifacts with

$> npx quorum-dev-quickstart
              ___
             / _ \   _   _    ___    _ __   _   _   _ __ ___
            | | | | | | | |  / _ \  | '__| | | | | | '_ ' _ \
            | |_| | | |_| | | (_) | | |    | |_| | | | | | | |
             \__\_\  \__,_|  \___/  |_|     \__,_| |_| |_| |_|
     
        ____                          _
       |  _ \    ___  __   __   ___  | |   ___    _ __     ___   _ __
       | | | |  / _ \ \ \ / /  / _ \ | |  / _ \  | '_ \   / _ \ | '__|
       | |_| | |  __/  \ V /  |  __/ | | | (_) | | |_) | |  __/ | |
       |____/   \___|   \_/    \___| |_|  \___/  | .__/   \___| |_|
                                                 |_|
       ___            _          _            _                    _
      / _ \   _   _  (_)   ___  | | __  ___  | |_    __ _   _ __  | |_
     | | | | | | | | | |  / __| | |/ / / __| | __|  / _' | | '__| | __|
     | |_| | | |_| | | | | (__  |   <  \__ \ | |_  | (_| | | |    | |_ 
      \__\_\  \__,_| |_|  \___| |_|\_\ |___/  \__|  \__,_| |_|     \__|


Welcome to the Quorum Developer Quickstart utility. This tool can be used
to rapidly generate local Quorum blockchain networks for development purposes
using tools like GoQuorum, Besu, and Tessera.

To get started, be sure that you have both Docker and Docker Compose
installed, then answer the following questions.

Which Ethereum client would you like to run? Default: [1]
	1. Hyperledger Besu
	2. GoQuorum
  ...
  Do you wish to enable support for private transactions? [Y/n]
  ...
  Do you wish to enable support for logging with Splunk or ELK (Elasticsearch, Logstash & Kibana)? Default: [1]
	1. None
	2. Splunk
	3. ELK
...
Where should we create the config files for this network? Please
choose either an empty directory, or a path to a new directory that does
not yet exist. Default: ./quorum-test-network

This prompts you to pick a quorum variant, whether you would like to try Privacy and the location for the artifacts. By default artifact files are stored at ./quorum-test-network, change directory to the artifacts folder:

$> cd quorum-test-network

Alternatively, you can use cli options and skip the prompt above like so:

npx quorum-dev-quickstart --clientType besu --outputPath ./quorum-test-network --monitoring default --privacy true

The arguments --privacy and --clientType are required, the others contain defaults if left blank.

To start services and the network:

Follow the README.md file of select artifact:

  1. Hyperledger Besu
  2. GoQuorum

Troubleshooting

Besu only - java.io.IOException: Permission denied for volumes

The besu containers use user besu mapped to user:group 1000. On your local machine, if your userid is not 1000, you will see this error. To fix this either run as user 1000 or map the container's user 1000 to your local user id so permissions will work like so in the compose file

image: some:img
user: $(id -u):$(id -g)

quorumengineering/tessera can't be found on Mac OS and no match for platform

Often, when trying to use tessera with quorum-dev-quickstart on Mac OS, you may encounter a message stating that the tessera image cannot be found and does not match the platform.

failed to solve: quorumengineering/tessera:23.4.0: no match for platform in manifest sha256:fb436c0ac56b79ca7cda27b92a3f81273de77d1c5b813aba0183333ca483053e: not found

In this case, you can modify the FROM statement in the Dockerfile located at quorum-test-network/config/tessera as follows.

FROM --platform=linux/amd64 quorumengineering/tessera:${TESSERA_VERSION}

quorum-dev-quickstart's People

Contributors

6l20 avatar antonydenyer avatar atoulme avatar baptiste-b-pegasys avatar benjamincburns avatar dependabot[bot] avatar ezzahhh avatar fox0430 avatar ggarri avatar gomezgoiri avatar joshuafernandes avatar julien-marchand avatar kimh4nkyul avatar krgko avatar kriys94 avatar lucassaldanha avatar macfarla avatar madelinemurray avatar matthew1001 avatar miseyu avatar nicksneo avatar obadah-h avatar ongyiren1994 avatar perusworld avatar ricardolyn avatar siladu avatar tmartin14 avatar toanalien avatar travis-payne avatar tsujp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

quorum-dev-quickstart's Issues

Question: How to configure GraphQL in Besu setup?

Hi,
I need help on how to configure and setup the GraphQL plugin in Besu setup by running the ./run.sh command.
Do I need to add more config for GraphQL in the docker-compose.yml? or that should be in the list.sh script?
In the end Im looking forward to have this GraphQL link working:

  • http://${HOST}:8547/graphql

java.io.IOException: Permission denied (failing validators on ubuntu 20.04)

Description

let me know if I should rather post the issue on the besu github

npx quorum-dev-quickstart cannot start a working network on a new, clean vm with ubuntu 20.04LTS (works on 18.04LTS, see aditional info)
Besu fails with several permissioned denied
Possible reasons I can think of

  • wrong docker config
  • doesnt work on ubuntu 20.04?

Let me know if you require more info. Thanks in advance for the help!

Acceptance Criteria

Steps to Reproduce (Bug)

  1. npx quorum-dev-quickstart

Which Ethereum client would you like to run? Default: [1]
1. Hyperledger Besu
2. GoQuorum
1
Do you want to try out Codefi Orchestrate? [Y/n]
n
Do you want to try out Quorum Key Manager? [Y/n]
n
Do you wish to enable support for private transactions? [Y/n]
n
Do you wish to enable support for logging with Splunk or ELK (Elasticsearch, Logstash & Kibana)? Default: [1]
1. None
2. Splunk
3. ELK

Do you wish to enable support for monitoring your network with Blockscout? [N/y]
Y
Where should we create the config files for this network? Please
choose either an empty directory, or a path to a new directory that does
not yet exist. Default: ./quorum-test-network

✅ Installation complete.

cd quorum-test-network

./run.sh

docker logs quorum-test-network_validator1_1

Expected behavior: [What you expect to happen]

Actual behavior: [What actually happens]
The same happens on all validators, including rpcnode

docker logs quorum-test-network-validator1-1
cp: cannot create regular file '/config/genesis.json': Permission denied
2022-01-10 16:30:30,227 main ERROR Unable to create file /tmp/besu/besu-5f5ccc32ebf5.log java.io.IOException: Permission denied
at java.base/java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.base/java.io.File.createNewFile(Unknown Source)
at org.apache.logging.log4j.core.appender.rolling.RollingFileManager$RollingFileManagerFactory.createManager(RollingFileManager.java:721)
at org.apache.logging.log4j.core.appender.rolling.RollingFileManager$RollingFileManagerFactory.createManager(RollingFileManager.java:704)
at org.apache.logging.log4j.core.appender.AbstractManager.getManager(AbstractManager.java:113)
at org.apache.logging.log4j.core.appender.OutputStreamManager.getManager(OutputStreamManager.java:100)
at org.apache.logging.log4j.core.appender.rolling.RollingFileManager.getFileManager(RollingFileManager.java:217)
at org.apache.logging.log4j.core.appender.RollingFileAppender$Builder.build(RollingFileAppender.java:146)
at org.apache.logging.log4j.core.appender.RollingFileAppender$Builder.build(RollingFileAppender.java:62)
at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:122)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1000)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:940)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:932)
at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:551)
at org.hyperledger.besu.cli.logging.XmlExtensionConfiguration.doConfigure(XmlExtensionConfiguration.java:40)
at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:241)
at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:287)
at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:627)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:700)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:717)
at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:272)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)
at org.apache.logging.log4j.LogManager.getContext(LogManager.java:196)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:599)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:585)
at org.hyperledger.besu.Besu.setupLogging(Besu.java:71)
at org.hyperledger.besu.Besu.main(Besu.java:37)

2022-01-10 16:30:30,234 main ERROR Could not create plugin of type class org.apache.logging.log4j.core.appender.RollingFileAppender for element RollingFile: java.lang.IllegalStateException: ManagerFactory [org.apache.logging.log4j.core.appender.rolling.RollingFileManager$RollingFileManagerFactory@609db43b] unable to create manager for [/tmp/besu/besu-5f5ccc32ebf5.log] with data [org.apache.logging.log4j.core.appender.rolling.RollingFileManager$FactoryData@55f616cf[pattern=/temp/besu/besu-5f5ccc32ebf5.log, append=true, bufferedIO=true, bufferSize=8192, policy=CompositeTriggeringPolicy(policies=[SizeBasedTriggeringPolicy(size=10485760)]), strategy=DefaultRolloverStrategy(min=1, max=7, useMax=true), advertiseURI=null, layout={"timestamp":"%d{ISO8601}","container":"5f5ccc32ebf5","level":"%level","thread":"%t","class":"%c{1}","message":"%msg","throwable":"%enc{%throwable}{JSON}"}%n, filePermissions=null, fileOwner=null]] java.lang.IllegalStateException: ManagerFactory [org.apache.logging.log4j.core.appender.rolling.RollingFileManager$RollingFileManagerFactory@609db43b] unable to create manager for [/tmp/besu/besu-5f5ccc32ebf5.log] with data [org.apache.logging.log4j.core.appender.rolling.RollingFileManager$FactoryData@55f616cf[pattern=/temp/besu/besu-5f5ccc32ebf5.log, append=true, bufferedIO=true, bufferSize=8192, policy=CompositeTriggeringPolicy(policies=[SizeBasedTriggeringPolicy(size=10485760)]), strategy=DefaultRolloverStrategy(min=1, max=7, useMax=true), advertiseURI=null, layout={"timestamp":"%d{ISO8601}","container":"5f5ccc32ebf5","level":"%level","thread":"%t","class":"%c{1}","message":"%msg","throwable":"%enc{%throwable}{JSON}"}%n, filePermissions=null, fileOwner=null]]
at org.apache.logging.log4j.core.appender.AbstractManager.getManager(AbstractManager.java:115)
at org.apache.logging.log4j.core.appender.OutputStreamManager.getManager(OutputStreamManager.java:100)
at org.apache.logging.log4j.core.appender.rolling.RollingFileManager.getFileManager(RollingFileManager.java:217)
at org.apache.logging.log4j.core.appender.RollingFileAppender$Builder.build(RollingFileAppender.java:146)
at org.apache.logging.log4j.core.appender.RollingFileAppender$Builder.build(RollingFileAppender.java:62)
at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:122)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1000)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:940)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:932)
at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:551)
at org.hyperledger.besu.cli.logging.XmlExtensionConfiguration.doConfigure(XmlExtensionConfiguration.java:40)
at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:241)
at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:287)
at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:627)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:700)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:717)
at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:272)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)
at org.apache.logging.log4j.LogManager.getContext(LogManager.java:196)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:599)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:585)
at org.hyperledger.besu.Besu.setupLogging(Besu.java:71)
at org.hyperledger.besu.Besu.main(Besu.java:37)

2022-01-10 16:30:30,237 main ERROR Unable to invoke factory method in class org.apache.logging.log4j.core.appender.RollingFileAppender for element RollingFile: java.lang.IllegalStateException: No factory method found for class org.apache.logging.log4j.core.appender.RollingFileAppender java.lang.IllegalStateException: No factory method found for class org.apache.logging.log4j.core.appender.RollingFileAppender
at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.findFactoryMethod(PluginBuilder.java:234)
at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:134)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1000)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:940)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:932)
at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:551)
at org.hyperledger.besu.cli.logging.XmlExtensionConfiguration.doConfigure(XmlExtensionConfiguration.java:40)
at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:241)
at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:287)
at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:627)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:700)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:717)
at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:272)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)
at org.apache.logging.log4j.LogManager.getContext(LogManager.java:196)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:599)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:585)
at org.hyperledger.besu.Besu.setupLogging(Besu.java:71)
at org.hyperledger.besu.Besu.main(Besu.java:37)

2022-01-10 16:30:30,238 main ERROR Null object returned for RollingFile in Appenders.
2022-01-10 16:30:30,244 main ERROR Unable to locate appender "RollingFile" for logger config "root"
2022-01-10 16:30:30,345 main INFO Registered Log4j as the java.util.logging.LogManager.
{"timestamp":"2022-01-10T16:30:32,745","container":"5f5ccc32ebf5","level":"INFO","thread":"main","class":"KeyPairUtil","message":"Generated new public key 0x03d136e018dbbf3c984ec530e894d0c93129322f8648e0af8f9a88084ee1e8feb3699cba186f7896431db62d969b15671fe7102f8f7d00bb432465e7c4b9c91f and stored it to /opt/besu/key","throwable":""}
2022-01-10 16:30:34,312 main ERROR Unable to create file /tmp/besu/besu-5f5ccc32ebf5.log java.io.IOException: Permission denied
at java.base/java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.base/java.io.File.createNewFile(Unknown Source)
at org.apache.logging.log4j.core.appender.rolling.RollingFileManager$RollingFileManagerFactory.createManager(RollingFileManager.java:721)
at org.apache.logging.log4j.core.appender.rolling.RollingFileManager$RollingFileManagerFactory.createManager(RollingFileManager.java:704)
at org.apache.logging.log4j.core.appender.AbstractManager.getManager(AbstractManager.java:113)
at org.apache.logging.log4j.core.appender.OutputStreamManager.getManager(OutputStreamManager.java:100)
at org.apache.logging.log4j.core.appender.rolling.RollingFileManager.getFileManager(RollingFileManager.java:217)
at org.apache.logging.log4j.core.appender.RollingFileAppender$Builder.build(RollingFileAppender.java:146)
at org.apache.logging.log4j.core.appender.RollingFileAppender$Builder.build(RollingFileAppender.java:62)
at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:122)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1000)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:940)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:932)
at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:551)
at org.hyperledger.besu.cli.logging.XmlExtensionConfiguration.doConfigure(XmlExtensionConfiguration.java:40)
at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:241)
at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:287)
at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:627)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:700)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:717)
at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:272)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)
at org.apache.logging.log4j.LogManager.getContext(LogManager.java:196)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:599)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:585)
at org.hyperledger.besu.Besu.setupLogging(Besu.java:71)
at org.hyperledger.besu.Besu.main(Besu.java:37)

2022-01-10 16:30:34,352 main ERROR Could not create plugin of type class org.apache.logging.log4j.core.appender.RollingFileAppender for element RollingFile: java.lang.IllegalStateException: ManagerFactory [org.apache.logging.log4j.core.appender.rolling.RollingFileManager$RollingFileManagerFactory@609db43b] unable to create manager for [/tmp/besu/besu-5f5ccc32ebf5.log] with data [org.apache.logging.log4j.core.appender.rolling.RollingFileManager$FactoryData@55f616cf[pattern=/temp/besu/besu-5f5ccc32ebf5.log, append=true, bufferedIO=true, bufferSize=8192, policy=CompositeTriggeringPolicy(policies=[SizeBasedTriggeringPolicy(size=10485760)]), strategy=DefaultRolloverStrategy(min=1, max=7, useMax=true), advertiseURI=null, layout={"timestamp":"%d{ISO8601}","container":"5f5ccc32ebf5","level":"%level","thread":"%t","class":"%c{1}","message":"%msg","throwable":"%enc{%throwable}{JSON}"}%n, filePermissions=null, fileOwner=null]] java.lang.IllegalStateException: ManagerFactory [org.apache.logging.log4j.core.appender.rolling.RollingFileManager$RollingFileManagerFactory@609db43b] unable to create manager for [/tmp/besu/besu-5f5ccc32ebf5.log] with data [org.apache.logging.log4j.core.appender.rolling.RollingFileManager$FactoryData@55f616cf[pattern=/temp/besu/besu-5f5ccc32ebf5.log, append=true, bufferedIO=true, bufferSize=8192, policy=CompositeTriggeringPolicy(policies=[SizeBasedTriggeringPolicy(size=10485760)]), strategy=DefaultRolloverStrategy(min=1, max=7, useMax=true), advertiseURI=null, layout={"timestamp":"%d{ISO8601}","container":"5f5ccc32ebf5","level":"%level","thread":"%t","class":"%c{1}","message":"%msg","throwable":"%enc{%throwable}{JSON}"}%n, filePermissions=null, fileOwner=null]]
at org.apache.logging.log4j.core.appender.AbstractManager.getManager(AbstractManager.java:115)
at org.apache.logging.log4j.core.appender.OutputStreamManager.getManager(OutputStreamManager.java:100)
at org.apache.logging.log4j.core.appender.rolling.RollingFileManager.getFileManager(RollingFileManager.java:217)
at org.apache.logging.log4j.core.appender.RollingFileAppender$Builder.build(RollingFileAppender.java:146)
at org.apache.logging.log4j.core.appender.RollingFileAppender$Builder.build(RollingFileAppender.java:62)
at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:122)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1000)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:940)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:932)
at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:551)
at org.hyperledger.besu.cli.logging.XmlExtensionConfiguration.doConfigure(XmlExtensionConfiguration.java:40)
at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:241)
at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:287)
at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:627)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:700)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:717)
at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:272)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)
at org.apache.logging.log4j.LogManager.getContext(LogManager.java:196)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:599)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:585)
at org.hyperledger.besu.Besu.setupLogging(Besu.java:71)
at org.hyperledger.besu.Besu.main(Besu.java:37)

2022-01-10 16:30:34,357 main ERROR Unable to invoke factory method in class org.apache.logging.log4j.core.appender.RollingFileAppender for element RollingFile: java.lang.IllegalStateException: No factory method found for class org.apache.logging.log4j.core.appender.RollingFileAppender java.lang.IllegalStateException: No factory method found for class org.apache.logging.log4j.core.appender.RollingFileAppender
at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.findFactoryMethod(PluginBuilder.java:234)
at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:134)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1000)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:940)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:932)
at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:551)
at org.hyperledger.besu.cli.logging.XmlExtensionConfiguration.doConfigure(XmlExtensionConfiguration.java:40)
at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:241)
at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:287)
at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:627)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:700)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:717)
at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:272)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)
at org.apache.logging.log4j.LogManager.getContext(LogManager.java:196)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:599)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:585)
at org.hyperledger.besu.Besu.setupLogging(Besu.java:71)
at org.hyperledger.besu.Besu.main(Besu.java:37)

2022-01-10 16:30:34,360 main ERROR Null object returned for RollingFile in Appenders.
2022-01-10 16:30:34,367 main ERROR Unable to locate appender "RollingFile" for logger config "root"
2022-01-10 16:30:34,549 main INFO Registered Log4j as the java.util.logging.LogManager.
2022-01-10 16:30:37,401 main ERROR Unable to create file /tmp/besu/besu-5f5ccc32ebf5.log java.io.IOException: Permission denied
at java.base/java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.base/java.io.File.createNewFile(Unknown Source)
at org.apache.logging.log4j.core.appender.rolling.RollingFileManager$RollingFileManagerFactory.createManager(RollingFileManager.java:721)
at org.apache.logging.log4j.core.appender.rolling.RollingFileManager$RollingFileManagerFactory.createManager(RollingFileManager.java:704)
at org.apache.logging.log4j.core.appender.AbstractManager.getManager(AbstractManager.java:113)
at org.apache.logging.log4j.core.appender.OutputStreamManager.getManager(OutputStreamManager.java:100)
at org.apache.logging.log4j.core.appender.rolling.RollingFileManager.getFileManager(RollingFileManager.java:217)
at org.apache.logging.log4j.core.appender.RollingFileAppender$Builder.build(RollingFileAppender.java:146)
at org.apache.logging.log4j.core.appender.RollingFileAppender$Builder.build(RollingFileAppender.java:62)
at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:122)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1000)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:940)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:932)
at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:551)
at org.hyperledger.besu.cli.logging.XmlExtensionConfiguration.doConfigure(XmlExtensionConfiguration.java:40)
at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:241)
at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:287)
at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:627)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:700)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:717)
at org.apache.logging.log4j.core.config.Configurator.reconfigure(Configurator.java:278)
at org.hyperledger.besu.cli.BesuCommand.configureLogging(BesuCommand.java:1469)
at org.hyperledger.besu.cli.BesuCommand.run(BesuCommand.java:1208)
at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2346)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2311)
at picocli.CommandLine$AbstractParseResultHandler.handleParseResult(CommandLine.java:2172)
at picocli.CommandLine.parseWithHandlers(CommandLine.java:2550)
at org.hyperledger.besu.cli.util.ConfigOptionSearchAndRunHandler.handle(ConfigOptionSearchAndRunHandler.java:53)
at org.hyperledger.besu.cli.util.ConfigOptionSearchAndRunHandler.handle(ConfigOptionSearchAndRunHandler.java:31)
at picocli.CommandLine$AbstractParseResultHandler.handleParseResult(CommandLine.java:2172)
at picocli.CommandLine.parseWithHandlers(CommandLine.java:2550)
at org.hyperledger.besu.cli.BesuCommand.parse(BesuCommand.java:1383)
at org.hyperledger.besu.cli.BesuCommand.parse(BesuCommand.java:1201)
at org.hyperledger.besu.Besu.main(Besu.java:50)

2022-01-10 16:30:37,443 main ERROR Could not create plugin of type class org.apache.logging.log4j.core.appender.RollingFileAppender for element RollingFile: java.lang.IllegalStateException: ManagerFactory [org.apache.logging.log4j.core.appender.rolling.RollingFileManager$RollingFileManagerFactory@609db43b] unable to create manager for [/tmp/besu/besu-5f5ccc32ebf5.log] with data [org.apache.logging.log4j.core.appender.rolling.RollingFileManager$FactoryData@38600b[pattern=/temp/besu/besu-5f5ccc32ebf5.log, append=true, bufferedIO=true, bufferSize=8192, policy=CompositeTriggeringPolicy(policies=[SizeBasedTriggeringPolicy(size=10485760)]), strategy=DefaultRolloverStrategy(min=1, max=7, useMax=true), advertiseURI=null, layout={"timestamp":"%d{ISO8601}","container":"5f5ccc32ebf5","level":"%level","thread":"%t","class":"%c{1}","message":"%msg","throwable":"%enc{%throwable}{JSON}"}%n, filePermissions=null, fileOwner=null]] java.lang.IllegalStateException: ManagerFactory [org.apache.logging.log4j.core.appender.rolling.RollingFileManager$RollingFileManagerFactory@609db43b] unable to create manager for [/tmp/besu/besu-5f5ccc32ebf5.log] with data [org.apache.logging.log4j.core.appender.rolling.RollingFileManager$FactoryData@38600b[pattern=/temp/besu/besu-5f5ccc32ebf5.log, append=true, bufferedIO=true, bufferSize=8192, policy=CompositeTriggeringPolicy(policies=[SizeBasedTriggeringPolicy(size=10485760)]), strategy=DefaultRolloverStrategy(min=1, max=7, useMax=true), advertiseURI=null, layout={"timestamp":"%d{ISO8601}","container":"5f5ccc32ebf5","level":"%level","thread":"%t","class":"%c{1}","message":"%msg","throwable":"%enc{%throwable}{JSON}"}%n, filePermissions=null, fileOwner=null]]
at org.apache.logging.log4j.core.appender.AbstractManager.getManager(AbstractManager.java:115)
at org.apache.logging.log4j.core.appender.OutputStreamManager.getManager(OutputStreamManager.java:100)
at org.apache.logging.log4j.core.appender.rolling.RollingFileManager.getFileManager(RollingFileManager.java:217)
at org.apache.logging.log4j.core.appender.RollingFileAppender$Builder.build(RollingFileAppender.java:146)
at org.apache.logging.log4j.core.appender.RollingFileAppender$Builder.build(RollingFileAppender.java:62)
at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:122)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1000)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:940)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:932)
at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:551)
at org.hyperledger.besu.cli.logging.XmlExtensionConfiguration.doConfigure(XmlExtensionConfiguration.java:40)
at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:241)
at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:287)
at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:627)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:700)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:717)
at org.apache.logging.log4j.core.config.Configurator.reconfigure(Configurator.java:278)
at org.hyperledger.besu.cli.BesuCommand.configureLogging(BesuCommand.java:1469)
at org.hyperledger.besu.cli.BesuCommand.run(BesuCommand.java:1208)
at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2346)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2311)
at picocli.CommandLine$AbstractParseResultHandler.handleParseResult(CommandLine.java:2172)
at picocli.CommandLine.parseWithHandlers(CommandLine.java:2550)
at org.hyperledger.besu.cli.util.ConfigOptionSearchAndRunHandler.handle(ConfigOptionSearchAndRunHandler.java:53)
at org.hyperledger.besu.cli.util.ConfigOptionSearchAndRunHandler.handle(ConfigOptionSearchAndRunHandler.java:31)
at picocli.CommandLine$AbstractParseResultHandler.handleParseResult(CommandLine.java:2172)
at picocli.CommandLine.parseWithHandlers(CommandLine.java:2550)
at org.hyperledger.besu.cli.BesuCommand.parse(BesuCommand.java:1383)
at org.hyperledger.besu.cli.BesuCommand.parse(BesuCommand.java:1201)
at org.hyperledger.besu.Besu.main(Besu.java:50)

2022-01-10 16:30:37,450 main ERROR Unable to invoke factory method in class org.apache.logging.log4j.core.appender.RollingFileAppender for element RollingFile: java.lang.IllegalStateException: No factory method found for class org.apache.logging.log4j.core.appender.RollingFileAppender java.lang.IllegalStateException: No factory method found for class org.apache.logging.log4j.core.appender.RollingFileAppender
at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.findFactoryMethod(PluginBuilder.java:234)
at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:134)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1000)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:940)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:932)
at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:551)
at org.hyperledger.besu.cli.logging.XmlExtensionConfiguration.doConfigure(XmlExtensionConfiguration.java:40)
at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:241)
at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:287)
at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:627)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:700)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:717)
at org.apache.logging.log4j.core.config.Configurator.reconfigure(Configurator.java:278)
at org.hyperledger.besu.cli.BesuCommand.configureLogging(BesuCommand.java:1469)
at org.hyperledger.besu.cli.BesuCommand.run(BesuCommand.java:1208)
at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2346)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2311)
at picocli.CommandLine$AbstractParseResultHandler.handleParseResult(CommandLine.java:2172)
at picocli.CommandLine.parseWithHandlers(CommandLine.java:2550)
at org.hyperledger.besu.cli.util.ConfigOptionSearchAndRunHandler.handle(ConfigOptionSearchAndRunHandler.java:53)
at org.hyperledger.besu.cli.util.ConfigOptionSearchAndRunHandler.handle(ConfigOptionSearchAndRunHandler.java:31)
at picocli.CommandLine$AbstractParseResultHandler.handleParseResult(CommandLine.java:2172)
at picocli.CommandLine.parseWithHandlers(CommandLine.java:2550)
at org.hyperledger.besu.cli.BesuCommand.parse(BesuCommand.java:1383)
at org.hyperledger.besu.cli.BesuCommand.parse(BesuCommand.java:1201)
at org.hyperledger.besu.Besu.main(Besu.java:50)

2022-01-10 16:30:37,472 main ERROR Null object returned for RollingFile in Appenders.
2022-01-10 16:30:37,487 main ERROR Unable to locate appender "RollingFile" for logger config "root"
Setting logging level to INFO
ANTLR Tool version 4.7.1 used for code generation does not match the current runtime version 4.8ANTLR Runtime version 4.7.1 used for parser compilation does not match the current runtime version 4.8ANTLR Tool version 4.7.1 used for code generation does not match the current runtime version 4.8ANTLR Runtime version 4.7.1 used for parser compilation does not match the current runtime version 4.8Unable to load genesis file. java.io.FileNotFoundException: /config/genesis.json (No such file or directory)

To display full help:
besu [COMMAND] --help

Frequency: [What percentage of the time does it occur?]
everytime

Versions (Add all that apply)

  • Software version: [besu --version]
    21.10.2
  • Java version: [java -version]
  • OS Name & Version: [cat /etc/*release]

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.3 LTS"
NAME="Ubuntu"
VERSION="20.04.3 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.3 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

  • Kernel Version: [uname -a]

Linux --redacted-- 5.4.0-92-generic #@103-Ubuntu SMP Fri Nov 26 16:13:00 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

  • Virtual Machine software & version: [vmware -v]
  • Docker Version: [docker version]

Client: Docker Engine - Community
V ersion: 20.10.12
API version: 1.41
Go version: go1.16.12
Git commit: e91ed57
Built: Mon Dec 13 11:45:33 2021
OS/Arch: linux/amd64
Context: default
Experimental: true

Server: Docker Engine - Community
Engine:
Version: 20.10.12
API version: 1.41 (minimum version 1.12)
Go version: go1.16.12
Git commit: 459d0df
Built: Mon Dec 13 11:43:42 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.12
GitCommit: 7b11cfaabd73bb80907dd23182b9347b4245eb5d
runc:
Version: 1.0.2
GitCommit: v1.0.2-0-g52b36a2
docker-init:
Version: 0.19.0
GitCommit: de40ad0

  • Cloud VM, type, size: [Amazon Web Services I3-large]

on-prem
4 vCPU, 8gb ram, 64Gb storage

Additional Information

I tried this on the VM I was using now, then I tried on a completly fresh instance/vm of ubuntu 20.04 (installed node, npm, docker, docker-compose), but it gave the same error.

Interestingly enough, I also tried on an existing VM for an old different project, and it started without hickups, maybe docker requires extra configuration that I did not do on the new instances? Or some new version of something produces the error?

Versions (Add all that apply) [for the working vm]

  • Software version: [besu --version]
    21.10.2
  • Java version: [java -version]
  • OS Name & Version: [cat /etc/*release]

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.5 LTS"
NAME="Ubuntu"
VERSION="18.04.5 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.5 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

  • Kernel Version: [uname -a]

Linux --redacted-- 4.15.0-112-generic #@113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

  • Virtual Machine software & version: [vmware -v]
  • Docker Version: [docker version]

Client: Docker Engine - Community
Version: 19.03.13
API version: 1.40
Go version: go1.13.15
Git commit: 4484c46d9d
Built: Wed Sep 16 17:02:36 2020
OS/Arch: linux/amd64
Experimental: false

Server: Docker Engine - Community
Engine:
Version: 19.03.13
API version: 1.40 (minimum version 1.12)
Go version: go1.13.15
Git commit: 4484c46d9d
Built: Wed Sep 16 17:01:06 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.3.7
GitCommit: 8fba4e9a7d01810a393d5d25a3621dc101981175
runc:
Version: 1.0.0-rc10
GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683

  • Cloud VM, type, size: [Amazon Web Services I3-large]

on-prem
4 vCPU, 4gb ram, 20gb storage ish

Blockscout always indexing

I try to create a quorum test network with below argument:

- Which Ethereum client would you like to run? 2. GoQuorum
- Do you want to try out Codefi Orchestrate? N
- Do you want to try out Quorum Key Manager? N
- Do you wish to enable support for private transactions? Y
- Do you wish to enable support for logging with Splunk or ELK (Elasticsearch, Logstash & Kibana)? 3. ELK
- Do you wish to enable support for monitoring your network with Blockscout? Y
- Where should we create the config files for this network? Please choose either an empty directory, or a path to a new directory that does not yet exist. ./quorum-test-network

After run run.sh, the network start successfully.
When I create a transaction with smart_contracts/script/public_tx.js.
image
The transaction can be found in Ethereum Lite Explorer
image
But in blockscout, it show Indexing Tokens - We're indexing this chain right now. Some of the counts may be inaccurate. in index.
截圖 2022-03-30 下午2 44 19
I got the block number of transaction is 217 from Lite Explorer. The blockscout show that block is Block Mined, awaiting import...
image
And the transaction is in Pending transaction
image

Error while compiling permissioning smart contracts with new compiler version (0.8.7)

The permissioning smart contracts available under this repository to implement enhanced permissioning is utilizing older smart contract compiler (^0.5.3).

So, if we try to update the solidity contracts to compile with newer version(v0.8.7) then it throws compilation error on VoterManager smart contract as the OrgVoterDetails struct is having mappings inside it which is not supported with the newer solidity compiler versions.

Can someone help with the upgraded smart contracts or some other functionality to implement enhanced permissioning in our quorum based network architecture?

Log is not created for quorum node

quorum3Screen
Hi Team,
I am trying to create goquorum network using quorum-dev-quickstart.I am using below command.
./network.sh up

But getting following issues.

  1. Log is not created for quorum node in /log/quorum directory.
  2. Tessara node is started in unhealthy status.

Kindly help out.

Regards!!
quorum1Screen
quorum2Screen

Error on Explorer/Contract Page

Compiling example code with any version of Solidity causes an error

image

540-6adbe5fe9aefc9d0.js:1 POST http://localhost:25000/explorer/api/contractCompile 500 (Internal Server Error)
(anonimo) @ 540-6adbe5fe9aefc9d0.js:1
e.exports @ 540-6adbe5fe9aefc9d0.js:1
e.exports @ 540-6adbe5fe9aefc9d0.js:1
l.request @ 540-6adbe5fe9aefc9d0.js:1
(anonimo) @ 540-6adbe5fe9aefc9d0.js:1
(anonimo) @ contracts-4990bcde34a66324.js:1
s @ main-75222ed780d2497a.js:1
(anonimo) @ main-75222ed780d2497a.js:1
P.forEach.e. @ main-75222ed780d2497a.js:1
V @ contracts-4990bcde34a66324.js:1
i @ contracts-4990bcde34a66324.js:1
(anonimo) @ contracts-4990bcde34a66324.js:1
(anonimo) @ contracts-4990bcde34a66324.js:1
(anonimo) @ contracts-4990bcde34a66324.js:1
$e @ framework-e283f07682b6ab3d.js:1
Ye @ framework-e283f07682b6ab3d.js:1
(anonimo) @ framework-e283f07682b6ab3d.js:1
Nr @ framework-e283f07682b6ab3d.js:1
Tr @ framework-e283f07682b6ab3d.js:1
(anonimo) @ framework-e283f07682b6ab3d.js:1
Ie @ framework-e283f07682b6ab3d.js:1
(anonimo) @ framework-e283f07682b6ab3d.js:1
Fr @ framework-e283f07682b6ab3d.js:1
Jt @ framework-e283f07682b6ab3d.js:1
Zt @ framework-e283f07682b6ab3d.js:1
t.unstable_runWithPriority @ framework-e283f07682b6ab3d.js:1
Ql @ framework-e283f07682b6ab3d.js:1
Me @ framework-e283f07682b6ab3d.js:1
Xt @ framework-e283f07682b6ab3d.js:1
contracts-4990bcde34a66324.js:1 Error: Request failed with status code 500
at e.exports (540-6adbe5fe9aefc9d0.js:1:14485)
at e.exports (540-6adbe5fe9aefc9d0.js:1:16927)
at XMLHttpRequest.w (540-6adbe5fe9aefc9d0.js:1:9076)

wget not found in hyperledger/besu:21.10.2

After creating a sample network I see in the docker-compose.yml that x-besu-tx-def checks whether tessera is running before starting besu (see it here).

However, the services which import this template (member1besu, member2besu and member3besu) redefine the entrypoint ignoring that check. Wouldn't it be clearer to include the actual entrypoint in x-besu-tx-def and define only the bits that change in the mentioned services?

When I did this (reusing the same entrypoint defined in the template and using some variables in the services to define things like the actual privacy-url), I realized that wget does not exist in the besu image (the version it uses is the 21.10.2) so that check would not work even if the entrypoint defined in the template was actually called.

The network I create to see this behavior is the following one:

npx quorum-dev-quickstart@latest --clientType besu \
  --orchestrate false \
  --quorumKeyManager false \
  --privacy true \
  --monitoring none \
  --blockscout false \
  --outputPath ./

ChainId in genesis.json does not match with RPC net_version

This error happen when we change the chainId in genesis file.
RPC net_version always return id: 1337
RPC eth_chainId return by genesis

impact:
Metamask wallet receive eth_chainId
Truffle receive from net_version
Truffle will throw migrate error:

Error: The network id specified in the truffle config (1338) does not match the one returned by the network (1337).  Ensure that both the network and the provider are properly configured.

Solution:
In quorum-dev-quickstart/files/goquorum/config/goquorum/docker-entrypoint.sh
Update new line after GENESIS_FILE to update Quorum network id when execute command

QUORUM_NETWORK_ID=$(grep -o '"chainId": *[0-9]*' $GENESIS_FILE | grep -o '[0-9]*$')

Costume BlockScout

where can i customize block explorer from blockscout? color, naming, icon, etc

image

Error: types.forEach is not a function

While running npm run private-transaction (also happens with public-transaction), I get an error:

> @consensys-software/[email protected] private-transaction
> node scripts/private_tx.js

TypeError: types.forEach is not a function
    at ABICoder.mapTypes (/home/mfolnovic/dev/projects/besu-instance/smart_contracts/privacy/node_modules/web3-eth-abi/lib/index.js:132:11)
    at ABICoder.encodeParameters (/home/mfolnovic/dev/projects/besu-instance/smart_contracts/privacy/node_modules/web3-eth-abi/lib/index.js:92:18)
    at createContract (/home/mfolnovic/dev/projects/besu-instance/smart_contracts/privacy/scripts/private_tx.js:21:48)
    at main (/home/mfolnovic/dev/projects/besu-instance/smart_contracts/privacy/scripts/private_tx.js:87:3)
    at Object.<anonymous> (/home/mfolnovic/dev/projects/besu-instance/smart_contracts/privacy/scripts/private_tx.js:111:3)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)
    at node:internal/main/run_main_module:17:47

My steps are:

  • ./run.sh
  • cd smart_contracts/privacy
  • npm install
  • npm run compile
  • npm run private-transaction

I've determined that it happens since version 0.0.66. Version 0.0.65 is last version that works for me.

I'm running npx quorum-dev-quickstart@xyz (where xyz is version).

Wrong chainId

Basic System Components

Hi!

I'm new to Quorum and I am following some activities/questions to learn it but I am struggling to find them in the documentations. I have successfully deployed the quickstart and in need of answers on how to demonstrate/show the following via CLI or any tools that came with the quickstart tool:

  1. Basic system components of Quorum and how they interface with each other to form a blockchain network.
  2. How to use GETH to invoke JSON RPC API to perform operation to accounts, nodes and transactions.
  3. Using the tools and CLI:
  • How to inspect nodes/peers information
  • How to inspect the chain, blocks and transaction information
  • How to create wallets/accounts and transferring Ether between accounts

I would welcome any links to documentation for each and guidance/steps for the others.

Thanks!

goquorum Multihost setup

Hi team,
I am trying to multihost setup using this quorum-dev-quickstart using docker extra host. 2 quorum/tessera node on host 1 and 1 quorum/tessara on second host.

But quourm/tessera nodes are not started in healthy status.

can any one try multhost set up.Please help me out here asap.

Regards!!

compose timeout

After running npx ... and npm install && npm start, I got this:

Error logs

ERROR: for deps_eth-client_1  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)

ERROR: for deps_vault_1  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)

ERROR: for deps_redis_1  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)

ERROR: for eth-client  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)

ERROR: for vault  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)

ERROR: for redis  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)
ERROR: An HTTP request took too long to complete. Retry with --verbose to obtain debug information.
If you encounter this issue regularly because of slow network conditions, consider setting COMPOSE_HTTP_TIMEOUT to a higher value (current value: 60).

"Waiting for network to be up............"

image

on ubuntu 20.04, 4cvpu, 16G RAM, GCP -- after installing node, npm, docker-io, docker-compose and docker compose plugin,

I just ran the command:

npx quorum-dev-quickstart --clientType besu --outputPath ./quorum-test-network --monitoring default --privacy false --orchestrate true --quorumKeyManager false

It is stuck at "Waiting for network to be up...." This is for the 5th time or so.. Once I waited for more than an hour for it to finish, but it kept going...

((hyperledger/besu:22.7.1 seems to be continuously restarting... ))

Please help.

Thanks and Regards
Rajesh

TOP:
image

DOCKER IMAGES:
image

DOCKER PS:
image

QuickStart Blockscout

I receive this message when i try to run ./run-blockscout.sh

Network already in use (.quorumDevQuickstart.lock present).
Restart with ./resume.sh or remove with ./remove.sh before running again.

I installed an empty VM with Ubuntu 20. The server just contains quorum-dev-quickstaret.

whats is wrong?
Thanks

Making Cakeshop optional

Hello,

I noticed that in v0.0.49 Cakeshop has been removed. For me this tool was very useful, could it be possible to have it as an optional software instead of completely removing it?

Array format in node-explorer

I'm trying to use a custom contract in the contracts section of the node-explorer, and i'm having issues using an array of addresses as an input parameter of a function.
Actually i've tryed to insert it using square brakets (i.e [0x..., 0x...], also with quotes/single quotes ["0x..."], ['0x...']) and also without brackets using quotes of any kind and tryed also without quotes or without brackets, but i'm always getting the error that the input format is wrong.
i.e. of an error: Error encoding arguments: Error: expected array value (argument=null, value="0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2", code=INVALID_ARGUMENT, version=abi/5.5.0).
What i'm missing?
Sorry if the question might be trivial but really i can't figure it out.
Thank you.

`remove.sh` prunes all images from Docker

Taking into consideration the limitations introduced by Docker when pulling images, we shouldn't remove the images from Docker when we run ./remove.sh. Doing this will lead to continuos pulls from the docker repository which could hit the daily limit for that IP quickly (and also makes another run.sh slower for the same image tags).

This should be an optional parameter like --prune to that script.

Transactions stuck in queue on rpcnode

Hi, I am new to quorum and I'm trying to deploy the simplestorage contract in Quorum Explorer. However, it seems that after clicking on the deploy button, the transaction seems to never complete. In the Nodes tab, I can see there is 1 Queued transaction on the rpcnode but it doesn't seem to be processed even after waiting a long time. I checked the logs and I saw recurring errors:

INFO [09-19|13:56:36.007] QBFT: initialize new round               address=0xDF8b560be949C229C821731554C33EAD5E3888A4 current.round=0 current.sequence=9 target.round=0 lastProposal.number=9 lastProposal.hash="85383d…4c5cac"
INFO [09-19|13:56:36.007] Commit new mining work                   number=10 sealhash="5e210d…e6e055" uncles=0 txs=0 gas=0 fees=0 elapsed="138.504µs"
WARN [09-19|13:56:36.007] Block sealing failed                     err=unauthorized
WARN [09-19|13:57:14.432] Served eth_hashrate                      conn=172.16.239.44:55602 reqid=148 t="4.402µs"  err="the method eth_hashrate does not exist/is not available"

Is the error related? How do I get transactions to work? I can't seem to send eth from genesis accounts to my wallet either.

Stuck at 9 blocks

Hello, I am running this with GoQuorum, and I get stuck at 9 blocks. I did nothing but do ./run.sh
image

HttpResponseError : socket hang up

hi, I'm glad to meet your code, and I need some help of error....
I'm use Macbook M1 Pro , npm 9.4.0 v , docker 20.10.22 v.
I followed all steps of Usage, and I need some help of Orchestrate.
I finished of Environment setup , and I can't follow tutorial of Register-Chain.

`

[email protected] register-chain
dotenv ts-node src/register-chain

HttpResponseError: Error: socket hang up
at Function.parseErrResponse (/Users/wm-il000516/quorum-test-network/node_modules/pegasys-orchestrate/lib/client/HttpClient.js:98:20)
at HttpClient. (/Users/wm-il000516/quorum-test-network/node_modules/pegasys-orchestrate/lib/client/HttpClient.js:46:34)
at Generator.throw ()
at rejected (/Users/wm-il000516/quorum-test-network/node_modules/pegasys-orchestrate/lib/client/HttpClient.js:6:65)
at processTicksAndRejections (node:internal/process/task_queues:95:5) {
isHttpError: true,
status: 500,
headers: {
url: '/chains',
method: 'post',
data: '{"name":"dev","urls":["http://rpcnode:8546"]}',
headers: {
Accept: 'application/json, text/plain, /',
'Content-Type': 'application/json',
Authorization: 'Bearer [TENANT_AUTH_TOKEN]',
'User-Agent': 'axios/0.21.4',
'Content-Length': 45
},
baseURL: 'http://localhost:8031',
transformRequest: [ [Function: transformRequest] ],
transformResponse: [ [Function: transformResponse] ],
timeout: 0,
adapter: [Function: httpAdapter],
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
validateStatus: [Function: validateStatus],
transitional: {
silentJSONParsing: true,
forcedJSONParsing: true,
clarifyTimeoutError: false
}
},
data: undefined
}
`
Could you let me know if there are any settings I'm missing?
Or Do you have any idea how i can solve this problem?

Requires Docker compose

I have installed quorum-dev-quickstart with the following script.

quorum-dev-quickstart --clientType=goquorum --privacy=false --orchestrate=false --blockscout=true --monitoring=default --outputPath='./quorum-test-network' 

But i run ./run.sh
it showed me

This script requires Docker compose but it's not installed.
Refer to documentation to fulfill requirements.

i have installed the docker-compose too
Check the .common.sh i saw that the script with docker-compose missing the 'dash'
image

it also missing in the rest bash file

My environment is: Macbook pro 13 inch 2020 Apple sillicon M1, MacOS v12.3

npx quorum-dev-quickstart fails to initiate download in WSL2/VSCode environment

quorumQuickstart
When entering npx quorum-dev-quickstart in my VSCode bash terminal, it fails to initiate download and says "bash: /mnt/c/Program Files/nodejs/npx: /bin/sh^M: bad interpreter: No such file or directory"

I have tried running in a standalone WSL2 terminal as well, but that yielded the same result.

System Details:
Windows 10 build 19043
WSL2/VSCode
NodeJS version 10.19.0

npm run register-contract (Hyper ledger besu setup)

npm run register-contract do not work :


(base) ➜ quorum-test-hlb npm run register-contract

[email protected] register-contract /Users/simo-mac/workspace/cultydata/blockchain/quorum/quorum-test-hlb
dotenv ts-node src/register-contract

Error: 14 UNAVAILABLE: could not create repository
at Object.callErrorFromStatus (/Users/simo-mac/workspace/cultydata/blockchain/quorum/quorum-test-hlb/node_modules/@grpc/grpc-js/src/call.ts:81:24)
at Object.onReceiveStatus (/Users/simo-mac/workspace/cultydata/blockchain/quorum/quorum-test-hlb/node_modules/@grpc/grpc-js/src/client.ts:334:36)
at Object.onReceiveStatus (/Users/simo-mac/workspace/cultydata/blockchain/quorum/quorum-test-hlb/node_modules/@grpc/grpc-js/src/client-interceptors.ts:434:34)
at Object.onReceiveStatus (/Users/simo-mac/workspace/cultydata/blockchain/quorum/quorum-test-hlb/node_modules/@grpc/grpc-js/src/client-interceptors.ts:397:48)
at Http2CallStream.outputStatus (/Users/simo-mac/workspace/cultydata/blockchain/quorum/quorum-test-hlb/node_modules/@grpc/grpc-js/src/call-stream.ts:230:22)
at Http2CallStream.maybeOutputStatus (/Users/simo-mac/workspace/cultydata/blockchain/quorum/quorum-test-hlb/node_modules/@grpc/grpc-js/src/call-stream.ts:280:14)
at Http2CallStream.endCall (/Users/simo-mac/workspace/cultydata/blockchain/quorum/quorum-test-hlb/node_modules/@grpc/grpc-js/src/call-stream.ts:263:12)
at Http2CallStream.handleTrailers (/Users/simo-mac/workspace/cultydata/blockchain/quorum/quorum-test-hlb/node_modules/@grpc/grpc-js/src/call-stream.ts:412:10)
at ClientHttp2Stream. (/Users/simo-mac/workspace/cultydata/blockchain/quorum/quorum-test-hlb/node_modules/@grpc/grpc-js/src/call-stream.ts:467:16)
at ClientHttp2Stream.emit (events.js:314:20) {
code: 14,
details: 'could not create repository',
metadata: Metadata {
internalRepr: Map(2) {
'content-type' => [Array],
'grpc-status-details-bin' => [Array]
},
options: {}
}
}


Seems that postgres data base is not initialized with the right schema. In deps_postgres-contract-registry_1 we have this :


2020-10-02 13:21:10.060 UTC [93] ERROR: relation "repositories" does not exist at character 18

2020-10-02 13:21:10.060 UTC [93] STATEMENT: SELECT "id" FROM repositories AS "repository_model" WHERE (name = 'Counter')


Thanks for your help.

How can I add one more member node and orion node in docker template ?

Hi , I wanna create a one more backup node on member1 and orion1 . Those backup are sharing same key and config ,
here is my config file

member1backorion:
<< : *orion-def
environment:
- ORION_OTHERNODES=http://member2orion:8080/,http://member3orion:8080/,http://member1orion:8080/
- ORION_NODEURL=http://member1backorion:8080
- ORION_CLIENTURL=http://member1backorion:8888
- LOG4J_CONFIGURATION_FILE=/config/log-config.xml
volumes:
- ./config/orion/orion.conf:/config/orion.conf
- ./config/orion/networkFiles/orion1:/keys/
- ./logs/orion:/var/log/
- ./config/orion/log-config.xml:/config/log-config.xml
networks:
quorum-dev-quickstart:
ipv4_address: 172.16.239.126

member1backbesu:
<< : *besu-def
entrypoint:
- /bin/bash
- -c
- |
while [ ! -f "/opt/besu/public-keys/bootnode_pubkey" ]; do sleep 5; done ;
/opt/besu/bin/besu
--config-file=/config/config.toml
--p2p-host=$$(hostname -i)
--genesis-file=/config/genesis.json
--node-private-key-file=/opt/besu/keys/key
--min-gas-price=0
--privacy-enabled
--privacy-url=http://member1backorion:8888
--privacy-public-key-file=/config/orion/orion.pub
--privacy-onchain-groups-enabled=${PRIVACY_ONCHAIN_GROUPS_ENABLED:-false}
--rpc-http-api=EEA,WEB3,ETH,NET,PRIV,PERM,${BESU_CONS_API:-IBFT}
--rpc-ws-api=EEA,WEB3,ETH,NET,PRIV,PERM,${BESU_CONS_API:-IBFT} ;
volumes:
- public-keys:/opt/besu/public-keys/
- ./config/besu/config.toml:/config/config.toml
- ./config/besu/permissions_config.toml:/config/permissions_config.toml
- ./config/besu/log-config.xml:/config/log-config.xml
- ./logs/besu:/var/log/
- ./config/besu/${BESU_CONS_ALGO:-ibft2}Genesis.json:/config/genesis.json
- ./config/besu/networkFiles/member1/keys:/opt/besu/keys
- ./config/orion/networkFiles/orion1/nodeKey.pub:/config/orion/orion.pub
depends_on:
- validator1
- member1backorion
ports:
- 20010:8545/tcp
- 20011:8546/tcp
networks:
quorum-dev-quickstart:
ipv4_address: 172.16.239.116

But when I shoot a command resume.sh then it report a error when start.
Beside that how can I add the member1backorion to the node-whitelist ?

Thanks
DaDa

Contract Deployment Fails with: private transaction manager is not in use

We are using Web3 JS Quorum and trying to deploy a contract via a private transaction, onto the dev quickstart ledger, but it fails saying the private tx manager is not in use.

Questions:

  1. Which transaction manager it refers to? Is it Tessera?
  2. Is there an issue with the way the transaction is constructed (there must be I guess)
  3. Should the isPrivate flag be used at all? I saw that there is no documentation for it, but it exists and it does modify the behavior so is it meant for internal use only or?

The Error

Returned error: private transaction manager is not in use

The code to reproduce:

(launch the quorum quickstart ledger as a pre-requisite)

const tx = {
    "value": 0,
    "data": "60c0604052600d60808190526c4361707461696e43616374757360981b60a090815261002e9160009190610041565b5034801561003b57600080fd5b506100d4565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061008257805160ff19168380011785556100af565b828001600101855582156100af579182015b828111156100af578251825591602001919060010190610094565b506100bb9291506100bf565b5090565b5b808211156100bb57600081556001016100c0565b61030f806100e36000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806317d7de7c14610046578063c47f0027146100c3578063ef5fb05b1461016b575b600080fd5b61004e610173565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610088578181015183820152602001610070565b50505050905090810190601f1680156100b55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610169600480360360208110156100d957600080fd5b8101906020810181356401000000008111156100f457600080fd5b82018360208201111561010657600080fd5b8035906020019184600183028401116401000000008311171561012857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610209945050505050565b005b61004e610220565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156101ff5780601f106101d4576101008083540402835291602001916101ff565b820191906000526020600020905b8154815290600101906020018083116101e257829003601f168201915b5050505050905090565b805161021c906000906020840190610246565b5050565b60408051808201909152600c81526b48656c6c6f20576f726c642160a01b602082015290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061028757805160ff19168380011785556102b4565b828001600101855582156102b4579182015b828111156102b4578251825591602001919060010190610299565b506102c09291506102c4565b5090565b5b808211156102c057600081556001016102c556fea2646970667358221220965216915797db694e698c024753d560e1989f2aebb14463f9225b2297003b2c64736f6c63430007020033",
    "nonce": 0,
    "from": {
        "privateKey": "0x****"
    },
    "privateKey": "****",
    "privateFrom": "BULeR8JyUWhiuuCMU/HLA0Q5pzkYT+cHII3ZKBey3Bo=",
    "privateFor": [
        "BULeR8JyUWhiuuCMU/HLA0Q5pzkYT+cHII3ZKBey3Bo=",
        "QfeDAys9MPDs2XHExtc84jKGHxZg/aj52DTh0vtA3Xc="
    ],
    "isPrivate": false,
    "gasLimit": 10000000,
    "gasPrice": 0,
    "privacyFlag": 0
};

// See https://github.com/ConsenSys/web3js-quorum
// this throws with "Returned error: private transaction manager is not in use"
const block = await this.web3JsQ.priv.generateAndSendRawTransaction(tx);

How to customize the Dapp deployment

can I run the dapp provided in quorum-dev-quickstart in my deployed besu network? If yes, what changes I must do to run this dapp in my deployed besu network? I don't want to run it in "quorum-dev-quickstar" deployed network. I have my own deployed besu network
I mean what changes I must do in these Dapp configuration file?
image

CORS configuration not working for Tessera

I have attempted to enable CORS by adding to the tessera config as shown below.

"serverConfigs": [
        {
            "app": "ThirdParty",
            "enabled": true,
            "serverAddress": "http://${HOSTNAME}:9080",
            "communicationType": "REST",
            "cors": {
                "allowedOrigins": ["*"]
            }
        }
        ...

However, trying to hit the /storeraw endpoint gave the following error:
Access to fetch at 'http:///storeraw' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.

Seems like the preflight request resulted in a 500 status.

Looking in the tessera logs, I see the following lines:

{"timestamp":"2022-03-09 08:34:06,094","container":"5385ee3fbd59","level":"INFO","thread":"qtp178371348-25","logger":"o.g.j.s.w.p.WadlModelProcessor$OptionsHandler","message":"Enter Request : OPTIONS : /storeraw","throwable":""}
{"timestamp":"2022-03-09 08:34:06,240","container":"5385ee3fbd59","level":"ERROR","thread":"qtp178371348-25","logger":"c.q.t.a.e.DefaultExceptionMapper","message":"Error occurred: Unable to make protected jakarta.ws.rs.core.Response() accessible: module jakarta.ws.rs does not \"opens jakarta.ws.rs.core\" to module jersey.server. Root cause: Unable to make protected jakarta.ws.rs.core.Response() accessible: module jakarta.ws.rs does not \"opens jakarta.ws.rs.core\" to module jersey.server","throwable":""}
{"timestamp":"2022-03-09 08:34:06,241","container":"5385ee3fbd59","level":"INFO","thread":"qtp178371348-25","logger":"o.g.j.s.w.p.WadlModelProcessor$OptionsHandler","message":"Exit Request : OPTIONS : /storeraw","throwable":""}
{"timestamp":"2022-03-09 08:34:06,241","container":"5385ee3fbd59","level":"INFO","thread":"qtp178371348-25","logger":"o.g.j.s.w.p.WadlModelProcessor$OptionsHandler","message":"Response for storeraw : 500 Internal Server Error","throwable":""}

npm run register-chain do not respond (GoQuorum setup)

  • ENV : MAC CATALINA
  • node : v14.10.1
    All the quorum-test-network component are up and running.
    We have an issue on the deps_eth_client_1. It's in restarting mode and here is the log :

INFO [10-02|12:05:28.934] Maximum peer count ETH=50 LES=0 total=50

INFO [10-02|12:05:28.934] Smartcard socket not found, disabling err="stat /run/pcscd/pcscd.comm: no such file or directory"

ERROR[10-02|12:05:28.961] Failed to enumerate USB devices hub=ledger vendor=11415 failcount=1 err="failed to initialize libusb: libusb: unknown error [code -99]"

ERROR[10-02|12:05:28.961] Failed to enumerate USB devices hub=trezor vendor=21324 failcount=1 err="failed to initialize libusb: libusb: unknown error [code -99]"

ERROR[10-02|12:05:28.962] Failed to enumerate USB devices hub=trezor vendor=4617 failcount=1 err="failed to initialize libusb: libusb: unknown error [code -99]"

ERROR[10-02|12:05:28.962] Failed to enumerate USB devices hub=ledger vendor=11415 failcount=2 err="failed to initialize libusb: libusb: unknown error [code -99]"

ERROR[10-02|12:05:28.963] Failed to enumerate USB devices hub=trezor vendor=21324 failcount=2 err="failed to initialize libusb: libusb: unknown error [code -99]"

ERROR[10-02|12:05:28.964] Failed to enumerate USB devices hub=trezor vendor=4617 failcount=2 err="failed to initialize libusb: libusb: unknown error [code -99]"

INFO [10-02|12:05:28.964] Allocated cache and file handles database=/nodeData/geth/chaindata cache=16.00MiB handles=16

INFO [10-02|12:05:28.978] Persisted trie from memory database nodes=14 size=2.28KiB time=221.932µs gcnodes=0 gcsize=0.00B gctime=0s livenodes=1 livesize=0.00B

INFO [10-02|12:05:28.980] Successfully wrote genesis state database=chaindata hash=eca552…e41c48

INFO [10-02|12:05:28.980] Allocated cache and file handles database=/nodeData/geth/lightchaindata cache=16.00MiB handles=16

INFO [10-02|12:05:28.994] Persisted trie from memory database nodes=14 size=2.28KiB time=37.557µs gcnodes=0 gcsize=0.00B gctime=0s livenodes=1 livesize=0.00B

INFO [10-02|12:05:28.995] Successfully wrote genesis state database=lightchaindata hash=eca552…e41c48

the PRIVATE_CONFIG environment variable must be specified for Quorum


npm run register-chain do not respond.

Thanks for your help.

Docker-compose file is broken

I'm trying to set up ConsenSys Quorum using Hyperledger Besu for the first time, and I run into an error on the docker-compose file while following the quickstart tutorial.

I follow the following steps to generate the error:

  1. npx quorum-dev-quickstart

  2. Which Ethereum client would you like to run? Default: (1) My answer: 1

    1. Hyperledger Besu
    2. GoQuorum
  3. Do you want to try out Codefi Orchestrate? Note: choosing yes will direct you to a login/registration page. [Y/n] My answer: n

  4. Do you wish to enable support for private transactions? [Y/n] My answer: y

  5. Do you wish to enable support for logging with Splunk or ELK (Elasticsearch, Logstash & Kibana)? Default: (1) My answer: 3

    1. None
    2. Splunk
    3. ELK
  6. Where should we create the config files for this network? Please
    choose either an empty directory, or a path to a new directory that does not yet exist. Default: ./quorum-test-network
    ./quorum-test-network

  7. ✅ Installation complete.
    To start your test network, run 'run.sh' in the directory, './quorum-test-network'

  8. cd quorum-test-network

  9. ./run.sh

Error on terminal:

*************************************
Quorum Dev Quickstart
*************************************
Start network
--------------------
Starting network...
ERROR: yaml.constructor.ConstructorError: while constructing a mapping
  in "./docker-compose.yml", line 383, column 5
expected a mapping or list of mappings for merging, but found scalar
  in "./docker-compose.yml", line 253, column 19
ERROR: yaml.constructor.ConstructorError: while constructing a mapping
  in "./docker-compose.yml", line 383, column 5
expected a mapping or list of mappings for merging, but found scalar
  in "./docker-compose.yml", line 253, column 19
*************************************
Quorum Dev Quickstart 
*************************************
----------------------------------
List endpoints and services
----------------------------------
JSON-RPC HTTP service endpoint                 : http://localhost:8545
JSON-RPC WebSocket service endpoint            : ws://localhost:8546
Web block explorer address                     : http://localhost:25000/

Some information about my environment:

$  uname -a                
Linux bravo-K46CB 5.4.0-77-generic #86~18.04.1-Ubuntu SMP Fri Jun 18 01:23:22 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

$ docker --version        
Docker version 20.10.7, build f0df350

$ docker-compose --version
docker-compose version 1.29.2, build 5becea4c

Stopping and resuming network does not bring up all containers successfully

The quickstart demo network works correctly when started using run.sh. However, after executing stop.sh and resume.sh, not all containers get brought back up correctly.

This is running with WSL2 (Ubuntu 20.04.2 LTS), Windows 10 (version 2004 build 19041), Docker for Windows 20.10.5.

To Replicate

  1. Execute npx quorum-dev-quickstart. During setup, answers are: use goquorum, orchestrate no, private yes, ELK no.
  2. Execute ./run.sh. All nodes start successfully.
  3. cakeshop shows node status running, peers = 8, blocks are produced.
  4. Execute docker-compose ps it shows all containers as Up or Up (healthy).
  5. Execute ./stop.sh. All nodes stop successfully.
  6. Execute docker-compose ps shows all containers as Exit..
  7. Execute ./resume.sh. Output should be similar to this:
*************************************
Quorum Dev Quickstart
*************************************
Resuming network...
----------------------------------
Starting validator1     ... done
Starting validator2     ... done
Starting validator3     ... done
Starting validator4     ... done
Starting rpcnode        ... done
Starting ethsignerProxy ... done
Starting member1tessera ... done
Starting member1quorum  ... done
Starting member2tessera ... done
Starting member2quorum  ... done
Starting member3tessera ... done
Starting member3quorum  ... done
Starting explorer       ... done
Starting cakeshop       ... done

The above all shows green, however all is not well. cakeshop shows 5 nodes (not 8). Blocks are produced ok, though.

  1. Execute docker-compose ps, shows tessera doesn't start, and quorum nodes are unhealthy:
$ docker-compose ps
                Name                              Command                   State                                                     Ports
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
quorum-test-network_cakeshop_1         /bin/sh -c rm -rf /data/ca ...   Up (healthy)     8080/tcp, 8102/tcp, 0.0.0.0:8999->8999/tcp
quorum-test-network_ethsignerProxy_1   /opt/ethsigner/bin/ethsign ...   Up               0.0.0.0:18545->8545/tcp
quorum-test-network_explorer_1         /docker-entrypoint.sh ngin ...   Up               0.0.0.0:25000->80/tcp
quorum-test-network_member1quorum_1    /bin/sh -c                       Up (unhealthy)   0.0.0.0:60191->30303/tcp, 30303/udp, 0.0.0.0:20000->8545/tcp, 0.0.0.0:20001->8546/tcp, 8547/tcp
quorum-test-network_member1tessera_1   /bin/sh -c mkdir -p /var/l ...   Exit 0
quorum-test-network_member2quorum_1    /bin/sh -c                       Up (unhealthy)   0.0.0.0:60193->30303/tcp, 30303/udp, 0.0.0.0:20002->8545/tcp, 0.0.0.0:20003->8546/tcp, 8547/tcp
quorum-test-network_member2tessera_1   /bin/sh -c mkdir -p /var/l ...   Exit 0
quorum-test-network_member3quorum_1    /bin/sh -c                       Up (unhealthy)   0.0.0.0:60194->30303/tcp, 30303/udp, 0.0.0.0:20004->8545/tcp, 0.0.0.0:20005->8546/tcp, 8547/tcp
quorum-test-network_member3tessera_1   /bin/sh -c mkdir -p /var/l ...   Exit 0
quorum-test-network_rpcnode_1          /bin/sh -c mkdir -p /var/l ...   Up (healthy)     0.0.0.0:60190->30303/tcp, 30303/udp, 0.0.0.0:8545->8545/tcp, 0.0.0.0:8546->8546/tcp, 8547/tcp
quorum-test-network_validator1_1       /bin/sh -c mkdir -p /var/l ...   Up (healthy)     0.0.0.0:60187->30303/tcp, 30303/udp, 0.0.0.0:21001->8545/tcp, 8546/tcp, 8547/tcp
quorum-test-network_validator2_1       /bin/sh -c mkdir -p /var/l ...   Up (healthy)     0.0.0.0:60188->30303/tcp, 30303/udp, 0.0.0.0:21002->8545/tcp, 8546/tcp, 8547/tcp
quorum-test-network_validator3_1       /bin/sh -c mkdir -p /var/l ...   Up (healthy)     0.0.0.0:60185->30303/tcp, 30303/udp, 0.0.0.0:21003->8545/tcp, 8546/tcp, 8547/tcp
quorum-test-network_validator4_1       /bin/sh -c mkdir -p /var/l ...   Up (healthy)     0.0.0.0:60183->30303/tcp, 30303/udp, 0.0.0.0:22004->8545/tcp, 8546/tcp, 8547/tcp

Trying ./stop.sh and ./resume.sh sometimes leaves quorum nodes hanging in status restarting.
Executing ./stop.sh, ./remove.sh and ./run.sh brings up all nodes successfully again.

Possible Workaround

The fault may be related to the fact that resume.sh calls each container's entrypoint again. I managed to get the network to be brought back up correctly by editing docker-compose.yml and replacing all mkdir that don't have the -p option, with mkdir -p. I am not convinced this is the real fault, though, because the mkdir lines without the -p should just be executed and ignored if the directory already exists. Also, this workaround sometimes needed me to call ./stop.sh and ./resume.sh more than once before network came back correctly. So root cause is likely elsewhere, but the above may give a clue.

Fail to generate Orchestrate quick-start folder on Mac and nodejs v14

Description

The command npx quorum-dev-quickstart fails to generate quick-start folder after selecting Y for Orchestrate on Mac with nodejs v14.

Error message:

Error: undefined is not iterable (cannot read property Symbol(Symbol.iterator))

Steps to reproduce

  1. Create an account on Quorum website
  2. Run npx quorum-dev-quickstart
  3. During dialog select Besu network and Y to use Orchestrate

Version

  • nodejs v14

Additional comment

After downgrading to node v10.18.0 it worked.

Screenshot 2020-09-01 at 6 31 27 PM

Nodes don't sync when using Clique

When running with env BESU_CONS_ALGO=CLIQUE, the nodes don't sync and the below message is shown for all nodes

No sync target, wait for peers

Getting error while running Tessera using quorum-dev-quickstart...................Error Code: 42102???

I am running ./run.sh and all container are running with healthy status but Tessera is not running and getting below error in log file:

Please help me to resolve this issue!!!
/quorum-test-network-up/network/logs/tessera ---

{"timestamp":"2022-12-22 14:30:33,130","container":"01f2023e1ab9","level":"WARN","thread":"main","class":"e.l.all","logger":"eclipselink.logging.all","message":"Exception [EclipseLink-4002] (Eclipse Persistence Services - 3.0.2.v202107160933): org.eclipse.persistence.exceptions.DatabaseExceptionInternal Exception: org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "ST_AFFECTED_TRANSACTION" not found; SQL statement:ALTER TABLE ST_AFFECTED_TRANSACTION DROP CONSTRAINT FK_ST_AFFECTED_TRANSACTION_TXN_ID [42102-212]Error Code: 42102Call: ALTER TABLE ST_AFFECTED_TRANSACTION DROP CONSTRAINT FK_ST_AFFECTED_TRANSACTION_TXN_IDQuery: DataModifyQuery(sql="ALTER TABLE ST_AFFECTED_TRANSACTION DROP CONSTRAINT FK_ST_AFFECTED_TRANSACTION_TXN_ID")","throwable":""}

Migration error on deploy pet-shop dapp

Hi,

I'm getting an error when deploy pet-shop dapp in HL Besu test network. The network deploy successfully but when I run './run_dapp.sh' script, get this error:

...
...
Compiling your contracts...
===========================
> Compiling ./contracts/Adoption.sol
> Compiling ./contracts/Migrations.sol
> Artifacts written to /Users/benitojcv/ULL/quorum-dev-quickstart/quorum-test-network/dapps/pet-shop/pet-shop-box/build/contracts
> Compiled successfully using:
   - solc: 0.5.16+commit.9c3226ce.Emscripten.clang


Compiling your contracts...
===========================
> Everything is up to date, there is nothing to compile.



Starting migrations...
======================
> Network name:    'quickstartWallet'
> Network id:      2018
> Block gas limit: 16234336 (0xf7b760)


1_initial_migration.js
======================

   Deploying 'Migrations'
   ----------------------

Error:  *** Deployment Failed ***

"Migrations" -- Internal error.

    at /Users/benitojcv/.nvm/versions/node/v12.21.0/lib/node_modules/truffle/build/webpack:/packages/deployer/src/deployment.js:365:1
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at Migration._deploy (/Users/benitojcv/.nvm/versions/node/v12.21.0/lib/node_modules/truffle/build/webpack:/packages/migrate/Migration.js:74:1)
    at Migration._load (/Users/benitojcv/.nvm/versions/node/v12.21.0/lib/node_modules/truffle/build/webpack:/packages/migrate/Migration.js:61:1)
    at Migration.run (/Users/benitojcv/.nvm/versions/node/v12.21.0/lib/node_modules/truffle/build/webpack:/packages/migrate/Migration.js:212:1)
    at Object.runMigrations (/Users/benitojcv/.nvm/versions/node/v12.21.0/lib/node_modules/truffle/build/webpack:/packages/migrate/index.js:150:1)
    at Object.runFrom (/Users/benitojcv/.nvm/versions/node/v12.21.0/lib/node_modules/truffle/build/webpack:/packages/migrate/index.js:110:1)
    at Object.run (/Users/benitojcv/.nvm/versions/node/v12.21.0/lib/node_modules/truffle/build/webpack:/packages/migrate/index.js:87:1)
    at runMigrations (/Users/benitojcv/.nvm/versions/node/v12.21.0/lib/node_modules/truffle/build/webpack:/packages/core/lib/commands/migrate.js:263:1)
    at Object.run (/Users/benitojcv/.nvm/versions/node/v12.21.0/lib/node_modules/truffle/build/webpack:/packages/core/lib/commands/migrate.js:228:1)
    at Command.run (/Users/benitojcv/.nvm/versions/node/v12.21.0/lib/node_modules/truffle/build/webpack:/packages/core/lib/command.js:136:1)
Truffle v5.2.5 (core: 5.2.5)
Node v12.21.0

I remember do it some times ago, and it worked fine!

My environment is:

  • OS X 10.15.7 (I try in Linux Ubuntu 18.04 with the same error)
  • Docker version 20.10.5
  • Node v12.21.0 (I try with other versions too)
  • npm 6.14.11
  • Truffle v5.2.5

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.