Giter Club home page Giter Club logo

cakeshop's Introduction

Cakeshop

⚠️ Project Deprecation Notice ⚠️

Cakeshop has been deprecated on May 31st 2022, and we are no longer supporting the project.

It has been replaced by quorum-explorer that offers wider compatibility with GoQuorum and Hyperledger Besu

Cakeshop is a set of tools and APIs for working with GoQuorum nodes, packaged as a Java web application archive (WAR) that gets you up and running in under 60 seconds.

It provides tools for attaching to GoQuorum nodes, exploring the state of the chain, and working with contracts.

Cakeshop can be used with the quorum-dev-quickstart. We encourage users interested in testing Cakeshop to use quorum-dev-quickstart.

screenshot

screenshot

Download

Binary packages are available on the Github releases page.

Configuration

Cakeshop is a Spring Boot application, so you may place an application.properties file in the working directory to override any default configuration values. For more info, see the configuration page.

Running with the Quorum Dev Quickstart

Requirements

Running

Running via Spring Boot

Requirements

  • Java 11+
  • NodeJS (if the nodejs binary on your machine isn't called 'node', see here)

Running

Running via Docker

Simple example of running via docker on port 8080:

docker run -p 8080:8080 quorumengineering/cakeshop

Then access the UI at http://localhost:8080/

Docker Customizations

You can add some extra flags to the run command to further customize cakeshop.

Here is an example where you mount ./data as a data volume for the container to use:

mkdir data
docker run -p 8080:8080 -v "$PWD/data":/opt/cakeshop/data quorumengineering/cakeshop

An example providing an initial nodes.json in the data directory and configuring it to be used:

# makes sure you have nodes.json at $PWD/data/nodes.json
docker run -p 8080:8080 -v "$PWD/data":/opt/cakeshop/data \
    -e JAVA_OPTS="-Dcakeshop.initialnodes=/opt/cakeshop/data/nodes.json" \
    quorumengineering/cakeshop

Migrating from Cakeshop v0.11.0

The following big changes were made in v0.12.0:

  1. Simplification of config file to better follow Spring Boot standards.
  2. Moved Contract Registry from being stored in a combination of a smart contract and the database to being in the database only.
  3. Elimination of cakeshop's managed node in favor of only attaching to existing nodes.
  4. Simplified DB configuration by using Spring Data.

To ensure easy transition, Cakeshop will still look in the locations where v0.11.0 commonly stored the config file. But (1) allows you to now place your config in the folder where you run cakeshop, or specify a different location using standard spring boot flags, for easier customization.

Cakeshop had custom logging location logic in the config before this change, which was removed. You may now redirect logs yourself or use Spring's logging config settings.

For (2), if you had contracts deployed and stored in the old Contract Registry, you may leave the contract.registry.addr line in your config file. Cakeshop will look for that contract address when it connects to the network and add those contracts to the database.

For (3), most of the original config values were related to this feature, and can be safely removed. See the default config file for all the values that are actually used.

(4) means that you will need to update the db-related config values to use spring data. So the old cakeshop.database, cakeshop.hibernate, and cakeshop.jdbc settings should change to use spring.data, spring.jpa, etc. See the configuration doc for more info.

Note: Due to an bug that happens when you update from Hibernate 4 to 5, when auto-updating the database it will try to recreate some column constraints that don't need to be recreated. These will fail and print a stack trace in the logs because they already exist. There are no negative effects from this error, so the best thing to do is to run with spring.jpa.hibernate.ddl-auto=update once and then change update to none on subsequent runs to avoid error logs. In production, it is not recommended to use auto-update to migrate your database at all, but instead run migrations on the database yourself.

Further Reading

Further documentation can be found here.

See Also

  • JIF Dashboard - The Cakeshop UI was built using the JIF Dashboard framework.

  • solc-cakeshop-cli - The solidity compiler used behind the scenes is solc-cakeshop-cli, a thin wrapper atop the solc JS binding.

Contributing

Thank you for your interest in contributing to Cakeshop!

Cakeshop is built on open source and we invite you to contribute enhancements. Upon review you will be required to complete a Contributor License Agreement (CLA) before we are able to merge. If you have any questions about the contribution process, please feel free to send an email to [email protected].

Reporting Security Bugs

Security is part of our commitment to our users. At Quorum we have a close relationship with the security community, we understand the realm, and encourage security researchers to become part of our mission of building secure reliable software. This section explains how to submit security bugs, and what to expect in return.

All security bugs in GoQuorum and its ecosystem (Tessera, Constellation, Cakeshop, ..etc) should be reported by email to [email protected]. Please use the prefix [security] in your subject. This email is delivered to the Quorum security team. Your email will be acknowledged, and you'll receive a more detailed response to your email as soon as possible indicating the next steps in handling your report. After the initial reply to your report, the security team will endeavor to keep you informed of the progress being made towards a fix and full announcement.

If you have not received a reply to your email or you have not heard from the security team please contact any team member through quorum slack security channel. Please note that Quorum slack channels are public discussion forum. When escalating to this medium, please do not disclose the details of the issue. Simply state that you're trying to reach a member of the security team.

Responsible Disclosure Process

Quorum project uses the following responsible disclosure process:

  • Once the security report is received it is assigned a primary handler. This person coordinates the fix and release process.
  • The issue is confirmed and a list of affected software is determined.
  • Code is audited to find any potential similar problems.
  • If it is determined, in consultation with the submitter, that a CVE-ID is required, the primary handler will trigger the process.
  • Fixes are applied to the public repository and a new release is issued.
  • On the date that the fixes are applied, announcements are sent to Quorum-announce.
  • At this point you would be able to disclose publicly your finding.

Note: This process can take some time. Every effort will be made to handle the security bug in as timely a manner as possible, however it's important that we follow the process described above to ensure that disclosures are handled consistently.

Receiving Security Updates

The best way to receive security announcements is to subscribe to the Quorum-announce mailing list/channel. Any messages pertaining to a security issue will be prefixed with [security].

Comments on This Policy If you have any suggestions to improve this policy, please send an email to [email protected] for discussion.

License

Copyright (c) 2016-2021 Consensys and/or applicable contributors

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

See the LICENSE and THIRD_PARTY files for additional license information.

Getting Help

Stuck at some step? Please join our slack community for support.

cakeshop's People

Contributors

5aab avatar antonydenyer avatar apratt3377 avatar benjamincburns avatar bmcd avatar chetan avatar cucrisis avatar davoell avatar dependabot[bot] avatar evereveron avatar fixanoid avatar joshuafernandes avatar mikkazan avatar nmvalera avatar patrickmn avatar paulmwatson avatar prd-fox avatar rajpratik71 avatar thelastgeneral avatar umatomba avatar yourcodesucks avatar zzy96 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  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

cakeshop's Issues

Cakeshop not working as intended with external quorum nodes

Description of problem

Trying to connect Cakeshop with a Quorum node

Expected behavior

Cakeshop works like the standalone dockerized version.

Actual behavior

Not all of the functionalities are working. A lot of RPC errors.

Steps to reproduce the behavior

in application.properties
change the following

geth.auto.start = false
geth.auto.stop = false
geth.url = 'url of external rpc node'

System information

Cakeshop version or commit hash: v0.9.1

Geth
Version: 1.5.0-unstable
Git Commit: 82a140abbb3ca706b5cdc95d63b345fdc115a3a9
Protocol Versions: [63 62]
Network Id: 1
Go Version: go1.6.2
OS: linux
GOPATH=/home/ubuntu/work
GOROOT=/usr/lib/go-1.6

Cakeshop OS & Version: Windows/Linux/OSX
Ubuntu 16.04
Browser OS & Version: Windows/Linux/OSX MSIE/Chrome/Firefox/Safari
Firefox, Chrome both latest version

Backtrace/logs

Gist url

Extra info

The node which cakeshop connects to is started with the following command
geth --datadir quorum-data --permissioned --voteaccount "0x6c5ec8b0ac92bc4900e46428169c26fc2b7c7817" --votepassword "" --ipcdisable --rpc --nodiscover --rpcaddr "<address removed>" --rpcapi eth,web3,personal --blockmakeraccount "0x6c5ec8b0ac92bc4900e46428169c26fc2b7c7817" --blockmakerpassword "" --verbosity 6 console

Fail to deploy cakeshop in Tomcat8

Description of problem

Cannot deploy cakeshop in Tomcat8, war gets unpacked in webapp folder but can not open site via http://<ip_address>:8080/cakeshop

NOTE: Using [ java -jar cakeshop.war ] works

Expected behavior

Shop open site

Actual behavior

Http 404
The requested resource is not available.

Steps to reproduce the behavior

Install Ubuntu 16.04.2
Install openjdk8-jdk
Install tomcat8
Download Cakeshop 0.10 pre-release from https://github.com/jpmorganchase/cakeshop/releases
Rename to cakeshop.war
move file to webapps folder
restart tomcat8
try opening site via http://<ip_address>:8080/cakeshop

System information

Cakeshop version or commit hash: 0.10

Cakeshop runtime configuration: stand alone

Geth/Quorum version testing against: none installed

Cakeshop OS & Version: Ubuntu 16.04.2

Browser OS & Version: Chrome

Backtrace/logs

[INFO ] 2017-07-18 16:01:12.287 [localhost-startStop-1] WebAppInit - Starting WebAppInit v0.10.0 on quorum with PID 1998 (/var/lib/tomcat8/webapps/cakeshop/WEB-INF/classes started by tomcat8 in /var/lib/tomcat8)
[INFO ] 2017-07-18 16:01:12.302 [localhost-startStop-1] WebAppInit - The following profiles are active: local
[INFO ] 2017-07-18 16:01:14.371 [localhost-startStop-1] AppConfig - eth.config.dir=/var/lib/tomcat8/data/cakeshop/local

[stacktrace/logs]

Unable add peers

Description of problem

I am trying to connect to the peer node. Added the peer enode address in the Peers section under 'add new peers'.
It shows Request sent and I am also getting the request at the other peer. But when I click the '+' add button it does nothing.
What can be done of it?

timeline for next update

Hi,

Saw the issue that was closed a few months ago indicating this repo is not abandoned, just some blocking issues before next release - is there an expected timeline by chance for the next release?

And will there be any major breaking changes/updates?

Many thanks

Not handling arrays properly

Description of problem

Cakeshop doesn't respond when trying to read values from a public array variable.

Expected behavior

Should read the value and show in "Paper tape" and "Contract state".

Actual behavior

Array doesn't appear in "Contract state" and doesn't respond when trying to read its values.

Steps to reproduce the behavior

Deploy:

contract TestArray {
  int[] public array;

  function addElement(int element) {
    array.push(element);
  }
}

Using the "Transact" box add any number to the array. After that try reading it using the "Read" buttom next to "array" and giving it "0" as argument.

System information

Cakeshop version or commit hash: 0.9.1

Geth/Quorum version testing against:

Geth
Version: 1.5.0-unstable
Git Commit: b6286320efc4189419a8e0f7f28f9af50f71b3ff
Protocol Versions: [63 62]
Network Id: 1
Go Version: go1.7.3
OS: linux
GOPATH=
GOROOT=/usr/local/go

Cakeshop OS & Version: Ubuntu 16.04

Browser OS & Version: Google Chrome 57.0.2987.133 (64-bit)

sample contracts (SimpleStorage/Greeter) cannot be deployed/registered

Description of problem

Trying to deploy the sample contracts, already the simple ones (Greeter/SimpleStorage) don't work.

Expected behavior

Contract is deployed (registered?) and can be interacted with.

Actual behavior

  1. Greeter does work till deployment (address is displayed and contract is correctly deployed), but then a server error occurs (at the registration step?), so no interaction is possible.
  2. SimpleStorage cannot be deployed, error is unknown (a warning in the logs says that "String" is wrong type for "for private", but nothing was written in the corresponding textbox)

No useful logging due to spamming with empty trx exceptions (probably during REST trx get requests).

Steps to reproduce the behavior

Deploy of sample contracts Greeter or SimpleStorage in Ropsten (Geth Attach mode).

System information

Cakeshop version or commit hash: e82a29d

Geth/Quorum version testing against: 1.5.5-stable

Cakeshop OS & Version: Ubuntu 16.04 LTS

Browser OS & Version: Chromium / not browser related

Backtrace/logs

will provide on request, difficult due to the log spamming with empty trx exceptions.

constellation settings for 7 nodes example

Description of problem

I am running cakeshop in attached mode to connect to 3 of the 7 nodes in the 7 nodes example. I think each cakeshop instance is not correctly displaying the relevant constellation node.

Expected behavior

In the Peers tab on each web ui, I would have expected the constellation nodes have different ports (e.g. http://127.0.0.1:9000/, http://127.0.0.1:9001/, http://127.0.0.1:9002)

Actual behavior

In the Peers tab on each web ui, it shows http://127.0.0.1:9000/
(paste logs at end)

Steps to reproduce the behavior

Navigate to Peers tab on cakeshop

System information

Cakeshop version or commit hash: Cakeshop 0.10.0, Build 48b7fd7

Cakeshop runtime configuration: multi instance and attach mode

Geth/Quorum version testing against: [run geth version or copy from Node Info in UI]

Cakeshop OS & Version: macOS Sierra

Browser OS & Version: Chrome Version 58.0.3029.110 (64-bit)

Backtrace/logs

Copy all relevant log output. Use Gist for longer logs.

[stacktrace/logs]

Cakeshop freezes with 100% cpu use

After running a Quorum network (deployed from Azure template), I am getting exceptions on the blockmaker. This network (1 blockmaker and 1 voter) has been running for a few weeks, not under massive load (just developers). This is output from the Cakeshop instance.

WARN 2017-07-23 11:06:01,812 [BlockSaver-34] (SqlExceptionHelper.java:129) SQL Error: 3403, SQLState: 22003 ERROR 2017-07-23 11:06:01,813 [BlockSaver-34] (SqlExceptionHelper.java:131) data exception: numeric value out of range; table: BLOCKS column: TOTALDIFFICULTY ERROR 2017-07-23 11:06:01,813 [BlockSaver-34] (BatchingBatch.java:124) HHH000315: Exception executing batch [could not execute batch] ERROR 2017-07-23 11:06:01,813 [BlockSaver-34] (SessionImpl.java:3166) HHH000346: Error during managed flush [could not execute batch] ERROR 2017-07-23 11:06:01,842 [BlockSaver-34] (SavingBlockListener.java:53 ) BlockSaverThread died org.springframework.dao.DataIntegrityViolationException: could not execute batch; SQL [insert into PUBLIC.BLOCKS (difficulty, extraData, gasLimit, gasUsed, logsBloom, miner, nonce, block_number, parentId, sha3Uncles, stateRoot, timestamp_val, totalDifficulty, transactionsRoot, id) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]; nested exception is org.hibernate.exception.DataException: could not execute batch at org.springframework.orm.hibernate5.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:168) at org.springframework.orm.hibernate5.HibernateTransactionManager.convertHibernateAccessException(HibernateTransactionManager.java:741) at org.springframework.orm.hibernate5.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:589) at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761) at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730) at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:485) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:291) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655) at com.jpmorgan.cakeshop.dao.BlockDAO$$EnhancerBySpringCGLIB$$6304e8b.save() at com.jpmorgan.cakeshop.db.SavingBlockListener.saveBlock(SavingBlockListener.java:108) at com.jpmorgan.cakeshop.db.SavingBlockListener$BlockSaverThread.run(SavingBlockListener.java:48) Caused by: org.hibernate.exception.DataException: could not execute batch at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:118) at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:111) at org.hibernate.engine.jdbc.batch.internal.BatchingBatch.performExecution(BatchingBatch.java:119) at org.hibernate.engine.jdbc.batch.internal.BatchingBatch.doExecuteBatch(BatchingBatch.java:97) at org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl.execute(AbstractBatchImpl.java:147) at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.executeBatch(JdbcCoordinatorImpl.java:214) at org.hibernate.engine.spi.ActionQueue.ex

webpack failed when build

Hi ,i use webpack command to build the ui . i got an error ,the detail is under:

E:\develop\eclipse_golang\workspace_new\cakeshop-0.9.1\cakeshop-api\src\main\web
app>webpack
Hash: 3bb7e8e1749d59e297f5
Version: webpack 1.15.0
Time: 12592ms
Asset Size Chunks Chunk Names
index-gen.js 3.05 MB 0 [emitted] main
index-gen.js.map 3.74 MB 0 [emitted] main
[0] multi main 40 bytes {0} [built]
[242] ./js/widgets ^./.*$ 1.06 kB {0} [optional] [built]
+ 327 hidden modules

ERROR in ./js/index.js
Module not found: Error: Cannot resolve 'file' or 'directory' ./vendor/cakeshop
in E:\develop\eclipse_golang\workspace_new\cakeshop-0.9.1\cakeshop-api\src\main
webapp\js
@ ./js/index.js 21:0-28

this error point to the line import './vendor/cakeshop';,and under vendor directory reallly do not have
cakeshop.js ..why this problem, how can i fix it?

Can't read swagger.json

System information

Cakeshop version or commit hash: <0.9>

Geth/Quorum version testing against: geth version

OS & Version: Linux/Docker

Expected behavior

show the API

Actual behavior

{"schemaValidationMessages":[{"level":"error","message":"Can't read from file http://172.17.0.2:8080/cakeshop/api/swagger.json"}]}

Steps to reproduce the behavior

Navigate to API see error

test fails when using "mvn package"

When using "mvn package" to build war file,
"
Testing solc compiler binary
FAILED
" was found

"
solc.path: cakeshop/cakeshop-api/target/classes/geth/solc/node_modules/solc-cli/bin/solc
solc.version: !!! unable to read solc version !!!
"
Try to locate the solc, I found there is not folder like "solc-cli", there is a folder named "solc-cakeshop-cli", should I use it?

Cakeshop Version:0.9.1

SQL error in terminal window. See gist

Description of problem

SQL error in terminal window.

Expected behavior

Actual behavior

https://gist.github.com/rfikki/9c1e53c0f21568f13f9aba64203b27f4
(paste logs at end)

Steps to reproduce the behavior

Not sure what caused it

System information

Win 10 64Bit
Cakeshop version or commit hash: [version]
0.90
Geth/Quorum version testing against: [run geth version or copy from Node Info in UI]

Cakeshop OS & Version: Windows/Linux/OSX

Browser OS & Version: Windows/Linux/OSX MSIE/Chrome/Firefox/Safari
Chrome latest

Backtrace/logs

Copy all relevant log output. Use Gist for longer logs.
https://gist.github.com/rfikki/9c1e53c0f21568f13f9aba64203b27f4

[stacktrace/logs]

Invalid or Missing Value for Params when calling GET or READ on contract

Description of problem

When I make a call to contract/get or contract/read (either through the cakeshop API dashboard or through C# code) it returns the error: "APIException: RPC request failed: invalid or missing value for params[0]"

I suspect the issue is I am passing in the wrong "id" value for the Contract ID but I am not sure what value to send it. I am using the address value generated after a contract is deployed/registered (ex. "0xb7082611b3d4e13bccf61c4e0564f9bca146b0aa")

Expected behavior

Expected behavior is contract information would be returned when making call to contract/get or contract/read

Actual behavior

CURL generated by cakeshop api dashboard:
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{"id":"0xb7082611b3d4e13bccf61c4e0564f9bca146b0aa"}' 'http://localhost:8080/cakeshop/api/contract/get'

JSON Response from cakeshop:
{
"errors": [
{
"status": "500",
"title": "Internal server error",
"detail": "APIException: RPC request failed: invalid or missing value for params[0]"
}
],
"meta": {
"version": "1.0",
"cakeshop-version": "0.9.1",
"cakeshop-build-id": "6c7a88ee8b317fe2b69c97fe1e838112cb655411",
"cakeshop-build-date": "2017-01-03T15:42:16.969-0500"
}
}

Steps to reproduce the behavior

  1. Deploy a contract from the cakeshop editor or from C# code
  2. Make a call to contract/get or contract/read using the address value generated from the deployed contract.
  3. Cakeshop will respond with the error "APIException: RPC request failed: invalid or missing value for params[0]"

System information

Cakeshop 0.9.1
Build 6c7a88e

Startup parameters: -Dgeth.node=geth

Geth Version 1.7.3-stable

Windows 10 / i7

Windows Chrome 63.0.3239.132 (Official Build) (64-bit)

Unable to connect to external quorum node

Trying to connect the quorum node running on the other machine, then cake shop, log shows that node added successfully but unable to see the node info on the cake shop.

Unable to run cakeshop

Description of problem

I would like to run Cakeshop 0.9.1 (on Mac High Sierra), but I get a NullPointerException.

Expected behavior

Cakeshop runs and serves the web app

Actual behavior

Throws NullPointerException.

Steps to reproduce the behavior

  1. Download Cakeshop 0.9.1 war file
  2. java -jar cakeshop-0.9.1-x86_64-macOS.war

System information

Cakeshop version or commit hash: 0.9.1

Cakeshop runtime configuration: stand alone

Geth/Quorum version testing against:
$ geth version
Geth
Version: 1.7.3-stable
Architecture: amd64
Protocol Versions: [63 62]
Network Id: 1
Go Version: go1.9.2
Operating System: darwin
GOPATH=
GOROOT=/usr/local/Cellar/go/1.9.2/libexec

Cakeshop OS & Version: OSX

Browser OS & Version: Chrome

Backtrace/logs

Copy all relevant log output. Use Gist for longer logs.

$ java -jar cakeshop-0.9.1-x86_64-macOS.war
Defaulting to spring profile: local
Exception in thread "main" java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
	at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:54)
	at java.base/java.lang.Thread.run(Thread.java:844)
Caused by: java.lang.NullPointerException
	at com.jpmorgan.cakeshop.config.SpringBootApplication.extractGeth(SpringBootApplication.java:73)
	at com.jpmorgan.cakeshop.config.SpringBootApplication.main(SpringBootApplication.java:48)
	... 6 more
Exception in thread "main" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:62)
	at java.base/java.lang.Thread.run(Thread.java:844)
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
	at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:54)
	... 1 more
Caused by: java.lang.NullPointerException
	at com.jpmorgan.cakeshop.config.SpringBootApplication.extractGeth(SpringBootApplication.java:73)
	at com.jpmorgan.cakeshop.config.SpringBootApplication.main(SpringBootApplication.java:48)
	... 6 more

Quorum Cakeshop Server Errors

Description of problem

I am running the 7nodes example of quorum in a common windows cmd. The 7nodes quorum example is up and running just fine.

Afterwards I followed the tutorial to set up the cakeshop via SpringBoot. So I downloaded the war file, ran the war-file with the special -D... command that is needed for windows and according to my cmd all seems to be fine. Then I open firefox/chrome and head to my local cakeshop URL.

The cakeshop page seems fine and everythings works. Then I start playing around with the page for a while and sometimes after 1 minute, sometimes after 30 minutes I get hit with an error message that says "ERROR: Server Error". From that point onwards I cant deploy or use any more contracts in the Sandbox.
Also the console gives me boat-loads of errors (see Log below).

Any ideas how to fix that?

Big Picture (maybe relevant for proper understanding):
I am trying to start up the 7nodes examples and then attach to at least 3 different nodes with cakeshop from the 7nodes network (see Multi-Instance Setup). Then I want to deploy some contracts, interact from all 3 nodes with them and also deploy some private contracts to learn about interaction with those contracts.

Expected behavior

Usage of cakeshop without error messages

Actual behavior

No contract deployment & interaction possible to due the Error message I receive as soon as I do something in the Sandbox "ERROR: Server Error".

Steps to reproduce the behavior

Run 7nodes example. Deploy Cakeshop (SpringBoot) on this example network. Deploy some contracts and randomly interact with them.

System information

Cakeshop 0.10.0 Build 8d2a5ab

Cakeshop runtime configuration: [stand alone or attach mode] Tried both, happens with both to me. With one node connected to cakeshop or with many.

Geth/Quorum version: Geth/v1.5.0-unstable-647025ed/linux/go1.7.3

OS Version: Windows

Browser OS & Version: Windows Chrome & Firefox

Backtrace/logs

I pasted a part of the console output starting right behind the "Preflight Checks" Section during cakeshop startup. Hope that helps...

[INFO ] 2017-08-23 13:39:02.088 [main] BlockchainInitializerTask - Overriding contract registry address from shared config 0xef3523f505b3a698f867da81554be2d756c23ccf
[INFO ] 2017-08-23 13:39:02.088 [main] BlockchainInitializerTask - Loaded contract registry address 0xef3523f505b3a698f867da81554be2d756c23ccf
[WARN ] 2017-08-23 13:39:02.118 [main] BlockchainInitializerTask - eth_getCode for 0xef3523f505b3a698f867da81554be2d756c23ccf returned 0x
[INFO ] 2017-08-23 13:39:02.118 [main] BlockchainInitializerTask - ContractRegistry not found on chain
[INFO ] 2017-08-23 13:39:02.129 [main] BlockchainInitializerTask - Deploying ContractRegistry to chain
[INFO ] 2017-08-23 13:39:11.186 [main] ContractRegistryServiceImpl - Wrote ContractRegistry address to shared location C:\Programmiersprachen\Cakeshop_Multiple\shared.properties
[INFO ] 2017-08-23 13:39:11.187 [main] BlockchainInitializerTask - Deploying sample contract (SimpleStorage) to chain
[INFO ] 2017-08-23 13:39:14.352 [cake-1] ContractRegistrationTask - Registering newly mined contract at address 0x1349f3e1b8d71effb47b840594ff27da7e603d17
[INFO ] 2017-08-23 13:39:16.215 [main] BlockchainInitializerTask - Storing existing wallet account balances

              ,%%%%%%%%,
            ,%%/\%%%%/\%%
           ,%%%\c "" J/%%%    ,,,,,,,
  %.       %%%%/ 6  6 \%%%    |||||||
  `%%.     %%%%    _  |%%%  @@@@@@@@@@@
   `%%     `%%%%(__Y__)%%'  {~*~*~*~*~}
   //       ;%%%%`\-/%%%' @@@@@@@@@@@@@@@@
  ((       /  `%%%%%%%'   {~* CAKESHOP *~}
   \\    .'          |    {     OPEN     }
    \\  /       \  | |    {~~*~~*~~*~~*~~}
     \\/         ) | |    @@@@@@@@@@@@@@@
      \         /_ | |__      __) (__
      (___________)))))))    /_______\

      CAKESHOP
      version:     0.10.0
      build id:    8d2a5ab8aaf0f895cec939772e252fc032958ed3
      build date:  2017-07-14T16:16:19.816-0400
      url:         http://192.168.56.1:8080/cakeshop/

[INFO ] 2017-08-23 13:39:17.128 [main] SpringBootApplication - Started SpringBootApplication in 34.762 seconds (JVM running for 37.638)
[INFO ] 2017-08-23 13:39:17.331 [cake-2] ContractRegistrationTask - Registering newly mined contract at address 0x9d13c6d3afe1721beef56b55d303b09e021e27ab
[WARN ] 2017-08-23 13:39:21.722 [BlockScanner-42] BlockScanner - Detected chain reorganization do to new peer connection!
[ERROR] 2017-08-23 13:39:21.792 [BlockScanner-42] BlockScanner - Couldn't find ContractRegistry address after chain reorg event
[INFO ] 2017-08-23 13:39:21.793 [BlockScanner-42] BlockScanner - Flushing DB
[INFO ] 2017-08-23 13:39:22.024 [BlockScanner-42] BlockScanner - Backfilling blocks with new chain
[ERROR] 2017-08-23 13:39:37.956 [qtp1389774257-24] NodeServiceImpl - Error saving constellation config
java.io.FileNotFoundException: C:\Programmiersprachen\Cakeshop_Multiple\node1\data\local\constellation-node\node.conf (Das System kann den angegebenen Pfad nicht finden)
at java.io.FileInputStream.open0(Native Method) ~[?:1.8.0_141]
at java.io.FileInputStream.open(Unknown Source) ~[?:1.8.0_141]
at java.io.FileInputStream.(Unknown Source) ~[?:1.8.0_141]
at java.io.FileReader.(Unknown Source) ~[?:1.8.0_141]
at com.jpmorgan.cakeshop.service.impl.NodeServiceImpl.getConstellationConfig(NodeServiceImpl.java:481) ~[classes!/:0.10.0]
at com.jpmorgan.cakeshop.service.impl.NodeServiceImpl.getConstellationNodes(NodeServiceImpl.java:385) [classes!/:0.10.0]
at com.jpmorgan.cakeshop.controller.NodeController.getConstellationList(NodeController.java:229) [classes!/:0.10.0]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_141]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_141]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_141]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_141]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:220) [spring-web-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) [spring-web-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:116) [spring-webmvc-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827) [spring-webmvc-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738) [spring-webmvc-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) [spring-webmvc-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963) [spring-webmvc-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897) [spring-webmvc-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) [spring-webmvc-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872) [spring-webmvc-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) [javax.servlet-api-3.1.0.jar!/:3.1.0]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) [spring-webmvc-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [javax.servlet-api-3.1.0.jar!/:3.1.0]
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812) [jetty-servlet-9.2.19.v20160908.jar!/:9.2.19.v20160908]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669) [jetty-servlet-9.2.19.v20160908.jar!/:9.2.19.v20160908]
at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:224) [websocket-server-9.2.19.v20160908.jar!/:9.2.19.v20160908]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) [jetty-servlet-9.2.19.v20160908.jar!/:9.2.19.v20160908]
at org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:55) [spring-boot-1.4.3.RELEASE.jar!/:1.4.3.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) [jetty-servlet-9.2.19.v20160908.jar!/:9.2.19.v20160908]
at com.jpmorgan.cakeshop.config.HealthCheckInterceptor.doFilterInternal(HealthCheckInterceptor.java:34) [classes!/:0.10.0]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) [jetty-servlet-9.2.19.v20160908.jar!/:9.2.19.v20160908]
at org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:105) [spring-boot-actuator-1.4.3.RELEASE.jar!/:1.4.3.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) [jetty-servlet-9.2.19.v20160908.jar!/:9.2.19.v20160908]
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:208) [spring-security-web-4.1.4.RELEASE.jar!/:4.1.4.RELEASE]
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177) [spring-security-web-4.1.4.RELEASE.jar!/:4.1.4.RELEASE]
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) [spring-web-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262) [spring-web-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) [jetty-servlet-9.2.19.v20160908.jar!/:9.2.19.v20160908]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197) [spring-web-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) [jetty-servlet-9.2.19.v20160908.jar!/:9.2.19.v20160908]
at org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInternal(MetricsFilter.java:106) [spring-boot-actuator-1.4.3.RELEASE.jar!/:1.4.3.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) [jetty-servlet-9.2.19.v20160908.jar!/:9.2.19.v20160908]
(paste logs at end)

Unable to access the Cakeshop REST APIs (EntEth Azure deployment)

Description of problem

Currently using the EntEth Azure deployment template to deploy a 2-node Quorum network (1 block miner, 1 observer). Cakeshop UI is accessible at ports 4000 and 4001.

However, unable to access the REST APIs to get info about blocks or other endpoints mentioned in the documentation.

Expected behavior

The API calls routed through the :8080/cakeshop/api/ must have returned valid JSON response to the query APIs such as /block/get.

Actual behavior

Calling the /block/get API to the address http://localhost:8080/cakeshop/api/block/get
as reflected by the API window. However, these are the observations:

Request Headers
{
"Accept": "application/json"
}

Response Body
no content

Response Code
0

Response Headers
{
"error": "no response from server"
}

Steps to reproduce the behavior

  1. Visit API of the Cakeshop // Dashboard
  2. Insert a block number to the number field (say 5, ensure block number 5 exists)
  3. Click on the "Try it out!" button at the bottom of the API documentation.
  4. Above observation can be made

System information

Cakeshop version or commit hash: 0.9.1 Build 6c7a88e

Cakeshop runtime configuration: stand alone

Geth/Quorum version testing against: v1.5.0-unstable-6d0bd810

Cakeshop OS & Version: Linux (EntEth package available on Azure)

Browser OS & Version: Chrome and Firefox

Backtrace/logs

Not Applicable

Unhealthy error, application failed to startup

Description of problem

Used following commands to run the application and seems good on CMD
java -jar -Dgeth.node=geth cakeshop.WAR

Expected behavior

It should open the cakeshop homepage instead it shows up
localhost:8080/cakeshop/unhealthy and follwing thigs

Actual behavior

APPLICATION FAILED STARTUP SELF-TEST
DEBUG INFO

java.vendor: Oracle Corporation
java.version: 1.8.0_112
java.home: C:\Program Files\Java\jre1.8.0_112
java.io.tmpdir: C:\Users\HIMANS~1\AppData\Local\Temp\

servlet.container: jetty/9.2.19.v20160908

cakeshop.version: 0.10.0
cakeshop.build.id: 8d2a5ab
cakeshop.build.date: 2017-07-14T16:16:19.816-0400

os.name: Windows 8.1
os.version: 6.3
os.arch: amd64

user.dir: C:\Users\Himansh12\Desktop\quoram
user.home: C:\Users\Himansh12

app.root: C:\Users\Himansh12\Desktop\quoram\cakeshop_windows.war!\WEB-INF\classes!
eth.env: null
eth.config.dir: C:\Users\Himansh12\Desktop\quoram\data\local

geth.path: C:\Users\Himansh12\Desktop\quoram\data\geth\bin\win\geth.exe
geth.data.dir: C:\Users\Himansh12\Desktop\quoram\data\local\ethereum
geth.version: 1.5.4-stable

solc.path: C:\Users\Himansh12\Desktop\quoram\data\geth\solc\node_modules\solc-cakeshop-cli\bin\solc
solc.version: 0.4.11+commit.68ef5810.Emscripten.clang

ERRORS

[2018-01-10T17:38:08,195] Wallet did not unlock in a timely manner (5 of 8 accounts unlocked)

[2018-01-10T17:38:08,196] Ethereum failed to start

[2018-01-10T17:38:08,196] GETH FAILED TO START

(paste logs at end)

Steps to reproduce the behavior

System information

Cakeshop version or commit hash: [version]

Cakeshop runtime configuration: [stand alone or attach mode]

Geth/Quorum version testing against: [run geth version or copy from Node Info in UI]

Cakeshop OS & Version: Windows/Linux/OSX

Browser OS & Version: Windows/Linux/OSX MSIE/Chrome/Firefox/Safari

Backtrace/logs

Copy all relevant log output. Use Gist for longer logs.

[stacktrace/logs]

Not compiling when comments have special characters

Description of problem

An exception appears when I'm trying to compile a contract on Sandbox, the code is correct because it compiles successfully with Truffle and browser solidity.

Expected behavior

Compile correctly.

Actual behavior

Getting an exception:

APIException: Failed to compile contract (solc exited with code 1)

Steps to reproduce the behavior

Try to compile:

// á

contract Example {
   
}

System information

Cakeshop version or commit hash: 0.9.1

Geth/Quorum version testing against:

Geth
Version: 1.5.0-unstable
Git Commit: b6286320efc4189419a8e0f7f28f9af50f71b3ff
Protocol Versions: [63 62]
Network Id: 1
Go Version: go1.7.3
OS: linux
GOPATH=
GOROOT=/usr/local/go

Cakeshop OS & Version: Ubuntu 16.04

Browser OS & Version: Google Chrome Version 57.0.2987.133 (64-bit)

Not recognized unlocked account when +1 account exists on keystore

Description of problem

I can use cakeshop with no problem when I have only one account on my keystore, but after I create more accounts and restart the app it dont recognize my unlocked account. Im seeing the logs of the quorum-geth node where cakeshop is connected and is working great with the unlocked acocunt, but cakeshop dont recognize it.

Expected behavior

Cakeshop should see that there are 3 accounts and one is unlocked and use it.

Actual behavior

See the right amount of acocunts but it dont use the account that is unlocked.

Defaulting to spring profile: local
Extracting geth to /home/augusto/Coinfabrik/quorum-demo/data/geth
 INFO 2017-01-17 11:20:15,872 [main] (StartupInfoLogger.java:48 ) Starting SpringBootApplication on Blackjak-PC with PID 18139 (started by augusto in /home/augusto/Coinfabrik/quorum-demo)
 INFO 2017-01-17 11:20:15,874 [main] (SpringApplication.java:670) The following profiles are active: container,spring-boot,local
 INFO 2017-01-17 11:20:20,343 [main] (AppConfig.java:113) eth.config.dir=/home/augusto/Coinfabrik/quorum-demo/data/local
 INFO 2017-01-17 11:20:20,348 [main] (AppConfig.java:144) Loading config from /home/augusto/Coinfabrik/quorum-demo/data/local/application.properties


********************************************************************************
Running pre-flight checks...

Testing ethereum data dir path
/home/augusto/.ethereum
OK

Testing db path
/home/augusto/Coinfabrik/quorum-demo/data/local/db
OK

Testing geth server binary
OK

Testing solc compiler binary
OK

ALL TESTS PASSED!
********************************************************************************

 INFO 2017-01-17 11:20:33,568 [main] (AppStartup.java:110) Autostarting geth node
 INFO 2017-01-17 11:20:33,752 [main] (ProcessUtils.java:199) Creating pid file: /home/augusto/Coinfabrik/quorum-demo/data/local/geth.pid
I0117 11:20:33.754853 cmd/utils/flags.go:624] WARNING: No etherbase set and no accounts found as default
I0117 11:20:33.755006 ethdb/database.go:83] Allotted 128MB cache and 1024 file handles to /home/augusto/.ethereum/chaindata
I0117 11:20:34.411647 ethdb/database.go:176] closed db:/home/augusto/.ethereum/chaindata
I0117 11:20:34.412066 node/node.go:176] instance: Geth/augusto/v1.5.4-stable-b70acf3c/linux/go1.7
I0117 11:20:34.412083 ethdb/database.go:83] Allotted 128MB cache and 1024 file handles to /home/augusto/.ethereum/chaindata
I0117 11:20:34.462805 eth/backend.go:189] Protocol Versions: [63 62], Network Id: 87234
I0117 11:20:34.465475 eth/backend.go:217] Chain config: {ChainID: 1 Homestead: 1150000 DAO: 1920000 DAOSupport: true EIP150: 2463000 EIP155: 2675000 EIP158: 2675000}
I0117 11:20:34.468342 core/blockchain.go:219] Last header: #0 [d4e56740…] TD=17179869184
I0117 11:20:34.468372 core/blockchain.go:220] Last block: #0 [d4e56740…] TD=17179869184
I0117 11:20:34.468384 core/blockchain.go:221] Fast block: #192 [723899e8…] TD=3453055867795
I0117 11:20:34.470029 p2p/server.go:342] Starting Server
I0117 11:20:34.471465 eth/backend.go:473] Automatic pregeneration of ethash DAG ON (ethash dir: /home/augusto/.ethash)
I0117 11:20:34.471517 p2p/server.go:610] Listening on [::]:30303
I0117 11:20:34.472360 eth/backend.go:480] checking DAG (ethash dir: /home/augusto/.ethash)
I0117 11:20:34.472886 core/blockchain.go:592] Chain manager stopped
I0117 11:20:34.472996 eth/handler.go:228] Stopping ethereum protocol handler...
I0117 11:20:34.473129 eth/handler.go:249] Ethereum protocol handler stopped
I0117 11:20:34.473250 core/tx_pool.go:195] Transaction pool stopped
I0117 11:20:34.473351 eth/backend.go:519] Automatic pregeneration of ethash DAG OFF (ethash dir: /home/augusto/.ethash)
 INFO 2017-01-17 11:20:34,536 [main] (GethHttpServiceImpl.java:535) Geth RPC endpoint is up
I0117 11:20:34.608666 ethdb/database.go:176] closed db:/home/augusto/.ethereum/chaindata
Fatal: Error starting protocol stack: listen tcp 127.0.0.1:22000: bind: address already in use
Fatal: Error starting protocol stack: listen tcp 127.0.0.1:22000: bind: address already in use
 INFO 2017-01-17 11:20:34,704 [main] (GethHttpServiceImpl.java:496) Waiting up to 6000ms for 3 accounts to unlock
ERROR 2017-01-17 11:20:40,744 [main] (GethHttpServiceImpl.java:568) Wallet did not unlock in a timely manner (0 of 3 accounts unlocked)
ERROR 2017-01-17 11:20:40,776 [main] (GethHttpServiceImpl.java:568) Ethereum failed to start
org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@1fef5315: startup date [Tue Jan 17 11:20:15 ART 2017]; root of context hierarchy


********************************************************************************
PRINTING DEBUG INFO
-------------------

java.vendor: Oracle Corporation
java.version: 1.7.0_80
java.home: /usr/lib/jvm/java-7-oracle/jre
java.io.tmpdir: /tmp

servlet.container: 

cakeshop.version: 0.9.1
cakeshop.build.id: 6c7a88ee8b317fe2b69c97fe1e838112cb655411
cakeshop.build.date: 2017-01-03T20:43:36.806+0000

os.name: Linux
os.version: 4.4.0-59-generic
os.arch: amd64



Linux release info:NAME="Ubuntu"
VERSION="16.04.1 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.1 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS"
Linux version 4.4.0-59-generic (buildd@lgw01-11) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #80-Ubuntu SMP Fri Jan 6 17:47:47 UTC 2017


user.dir: /home/augusto/Coinfabrik/quorum-demo
user.home: /home/augusto

app.root: /home/augusto/Coinfabrik/quorum-demo/cakeshop-0.9.1-x86_64-linux.war
eth.env: null
eth.config.dir: /home/augusto/Coinfabrik/quorum-demo/data/local

geth.path: /home/augusto/Coinfabrik/quorum-demo/data/geth/bin/linux/geth
geth.data.dir: /home/augusto/.ethereum
geth.version: 1.5.4-stable

solc.path: /home/augusto/Coinfabrik/quorum-demo/data/geth/solc/node_modules/solc-cli/bin/solc
solc.version: 0.3.6-3fc68da5/Release-Emscripten/clang


PRINTING ERROR MESSAGES
-----------------------

[2017-01-17T11:20:40,776] Wallet did not unlock in a timely manner (0 of 3 accounts unlocked)

[2017-01-17T11:20:40,777] Ethereum failed to start

[2017-01-17T11:20:40,777] GETH FAILED TO START



********************************************************************************


          url:         http://192.168.0.27:8080/cakeshop/

 INFO 2017-01-17 11:20:41,045 [main] (StartupInfoLogger.java:57 ) Started SpringBootApplication in 26.739 seconds (JVM running for 30.745)
DEBUG 2017-01-17 11:20:41,706 /cakeshop/unhealthy
DEBUG 2017-01-17 11:20:41,754 /cakeshop/unhealthy
DEBUG 2017-01-17 11:20:41,801 /cakeshop/unhealthy

Steps to reproduce the behavior

System information

Cakeshop version or commit hash: v0.9.1

Geth/Quorum version testing against:

Geth
Version: 1.5.0-unstable
Git Commit: 6d0bd810484f4c56f7c9aebc229e1bdc56832ced
Protocol Versions: [63 62]
Network Id: 1
Go Version: go1.6.2
OS: linux
GOPATH=
GOROOT=/usr/lib/go-1.6

Cakeshop OS & Version: Linux, ubuntu 16.04

Browser OS & Version: Firefox

Backtrace/logs

Copy all relevant log output. Use Gist for longer logs.

My quorum logs, unlocking 1 account of 3 using the account address.

I0117 11:27:46.126783 ethdb/database.go:81] Allotted 128MB cache and 1024 file handles to /home/augusto/Coinfabrik/quorum-demo/demos/qdata/geth/chaindata
I0117 11:27:46.231738 ethdb/database.go:174] closed db:/home/augusto/Coinfabrik/quorum-demo/demos/qdata/geth/chaindata
I0117 11:27:46.232858 node/node.go:177] instance: Geth/v1.5.0-unstable-6d0bd810/linux/go1.6.2
I0117 11:27:46.232885 ethdb/database.go:81] Allotted 128MB cache and 1024 file handles to /home/augusto/Coinfabrik/quorum-demo/demos/qdata/geth/chaindata
I0117 11:27:46.252730 eth/backend.go:175] Protocol Versions: [63 62], Network Id: 87234
I0117 11:27:46.253384 core/blockchain.go:221] Last header: #186 [577b4d61…] TD=25442537
I0117 11:27:46.253400 core/blockchain.go:222] Last block: #186 [577b4d61…] TD=25442537
I0117 11:27:46.253407 core/blockchain.go:223] Fast block: #186 [577b4d61…] TD=25442537
I0117 11:27:46.253906 p2p/server.go:328] Starting Server
I0117 11:27:48.400858 p2p/discover/udp.go:217] Listening, enode://fc0e1985053ee54df2fdb4c9a58fdf004b63314eb5e494180adbdd5a17d88dfe73644b4a39d1c7ebf7ee28652d80a2a5e10e15e24463884b32eec290a84e141b@[::]:21000
I0117 11:27:48.401059 p2p/server.go:582] Listening on [::]:21000
I0117 11:27:48.401976 node/node.go:412] HTTP endpoint opened: http://0.0.0.0:22000
I0117 11:27:48.402013 node/node.go:342] IPC endpoint opened: /home/augusto/Coinfabrik/quorum-demo/demos/qdata/geth.ipc
I0117 11:27:49.824381 cmd/geth/accountcmd.go:189] Unlocked account 93630f556d0c92c56e2be545245cabf8831893ad
E0117 11:27:54.825355 core/quorum/block_voting.go:280] Unable to vote: Node is not configured for voting
E0117 11:27:58.825476 core/quorum/block_voting.go:280] Unable to vote: Node is not configured for voting
E0117 11:28:01.825655 core/quorum/block_voting.go:280] Unable to vote: Node is not configured for voting
E0117 11:28:08.825782 core/quorum/block_voting.go:280] Unable to vote: Node is not configured for voting
I0117 11:28:09.883142 core/blockchain.go:1054] imported 1 blocks,     3 txs (  0.154 Mg) in   6.397ms (24.121 Mg/s). #187 [f0470cf0…]
I0117 11:28:15.888029 core/blockchain.go:1054] imported 1 blocks,     3 txs (  0.154 Mg) in   6.652ms (23.218 Mg/s). #188 [7675782f…]
I0117 11:28:18.929805 core/blockchain.go:1054] imported 1 blocks,     2 txs (  0.123 Mg) in  40.507ms ( 3.042 Mg/s). #189 [32d451de…]
I0117 11:28:22.923429 core/blockchain.go:1054] imported 1 blocks,     2 txs (  0.123 Mg) in  16.532ms ( 7.453 Mg/s). #190 [87156860…]
I0117 11:28:26.922802 core/blockchain.go:1054] imported 1 blocks,     2 txs (  0.123 Mg) in   6.005ms (20.518 Mg/s). #191 [7c21423d…]

-Dgeth.node=geth

Hi, I am not familiar with Tomcat.
"-Dgeth.node=geth must be specified as Quorum is not yet available on Windows OS"
How do I do this in Windows 8.1?
Thanks.

Current Error:
24-Nov-2017 16:40:39.367 INFO [http-nio-80-exec-3] org.apache.catalina.core.ApplicationContext.log HTMLManager: start: Starting web application '/cakeshop-0.10.0-x86_64-windows'
24-Nov-2017 16:40:49.664 SEVERE [http-nio-80-exec-3] org.apache.catalina.core.ApplicationContext.log FAIL - Application at context path [/cakeshop-0.10.0-x86_64-windows] could not be started
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/cakeshop-0.10.0-x86_64-windows]]
at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:441)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)
at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1305)
at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:665)
at org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:211)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:136)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:592)
at org.apache.catalina.valves.RequestFilterValve.process(RequestFilterValve.java:348)
at org.apache.catalina.valves.RemoteAddrValve.invoke(RemoteAddrValve.java:52)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:651)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:500)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:754)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1376)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'propertySourcesPlaceholderConfigurer' defined in class path resource [com/jpmorgan/cakeshop/config/AppConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.context.support.PropertySourcesPlaceholderConfigurer]: Factory method 'propertySourcesPlaceholderConfigurer' threw exception; nested exception is java.io.IOException: System property 'spring.profiles.active' not set; unable to load config
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:599)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1134)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1028)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:149)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:686)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:524)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:761)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:371)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
at org.springframework.boot.web.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:151)
at org.springframework.boot.web.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:131)
at org.springframework.boot.web.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:86)
at com.jpmorgan.cakeshop.config.WebAppInit.onStartup(WebAppInit.java:80)
at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:169)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5094)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
... 32 more
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.context.support.PropertySourcesPlaceholderConfigurer]: Factory method 'propertySourcesPlaceholderConfigurer' threw exception; nested exception is java.io.IOException: System property 'spring.profiles.active' not set; unable to load config
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588)
... 54 more
Caused by: java.io.IOException: System property 'spring.profiles.active' not set; unable to load config
at com.jpmorgan.cakeshop.config.AppConfig.createPropConfigurer(AppConfig.java:110)
at com.jpmorgan.cakeshop.config.AppConfig.propertySourcesPlaceholderConfigurer(AppConfig.java:82)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)
... 55 more

JSON Parse Error on sandbox, not compiling contracts

Description of problem

An exeception appears when im trying to compile my contracts on sandbox, the code is correct because it compiles successfully with solc and browser solidity.

JsonParseException: Unexpected end-of-input: was expecting closing quote for a string value
at [Source: java.io.StringReader@3e88298e; line: 1, column: 67073]

Expected behavior

Compile correctly.

Actual behavior

Getting exception:
JsonParseException: Unexpected end-of-input: was expecting closing quote for a string value
at [Source: java.io.StringReader@3e88298e; line: 1, column: 67073]

Steps to reproduce the behavior

Try to compile this https://gist.github.com/anonymous/9e1a26f067c6d9e3f89f9e8f804c003e

System information

Cakeshop version or commit hash: v0.9.1

Geth/Quorum version testing against:

Geth
Version: 1.5.0-unstable
Git Commit: 6d0bd810484f4c56f7c9aebc229e1bdc56832ced
Protocol Versions: [63 62]
Network Id: 1
Go Version: go1.6.2
OS: linux
GOPATH=
GOROOT=/usr/lib/go-1.6

Cakeshop OS & Version: Linux, ubuntu 16.04

Browser OS & Version: Firefox

application.properties should not reside in data folder

Description of problem

Data folder regards live app persistence, while app.props is about config.

By conflating these two, it is difficult to configure docker containers in a reasonable way.

Expected behavior

A config file should be defined in the docker container via Dockerfile.

Actual behavior

Since the docker volume mounting option overwrites container volumes after dockerfile COPY commands, it overrides any config files that were expected in those volumes.

The rough workaround is to include config files on the host computer before deploying, but this destroys build repeatability. The Dockerfile should encompass any config, and so should be able to copy config files before volumes are mounted, without fear of being overwritten.

Steps to reproduce the behavior

Try dockerizing cakeshop with a custom application.properties file. Docker doesn't like it.

System information

Cakeshop version or commit hash: [version] master

Geth/Quorum version testing against: [run geth version or copy from Node Info in UI] /shrug

Cakeshop OS & Version: Windows/Linux/OSX OSX, deploying to an Ubuntu 16.04 box.

Browser OS & Version: Windows/Linux/OSX MSIE/Chrome/Firefox/Safari Chrome, not related.

bb

Description of problem

Expected behavior

Actual behavior

(paste logs at end)

Steps to reproduce the behavior

System information

Cakeshop version or commit hash: [version]

Cakeshop runtime configuration: [stand alone or attach mode]

Geth/Quorum version testing against: [run geth version or copy from Node Info in UI]

Cakeshop OS & Version: Windows/Linux/OSX

Browser OS & Version: Windows/Linux/OSX MSIE/Chrome/Firefox/Safari

Backtrace/logs

Copy all relevant log output. Use Gist for longer logs.

[stacktrace/logs]

Win 10 Error - ERROR 2016-12-16 20:40:35,304 [BlockSaver-38] (SavingBlockListener.java:53 ) BlockSaverThread died

System information

Win10 64bit
Cakeshop version or commit hash:

Geth/Quorum version testing against: geth version

OS & Version: Windows/Linux/OSX
Windows 10

Expected behavior

The application should run error free

Actual behavior

ERROR 2016-12-16 20:40:35,304 [BlockSaver-38] (SavingBlockListener.java:53 ) BlockSaverThread died
org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.service.UnknownServiceException: Unknown service requested [org.hibernate.cache.spi.RegionFactory]
at org.springframework.orm.hibernate5.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:541)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:373)
at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:427)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:276)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655)
at com.jpmorgan.cakeshop.dao.BlockDAO$$EnhancerBySpringCGLIB$$480d1e3f.save()
at com.jpmorgan.cakeshop.db.SavingBlockListener.saveBlock(SavingBlockListener.java:109)
at com.jpmorgan.cakeshop.db.SavingBlockListener$BlockSaverThread.run(SavingBlockListener.java:48)
Caused by: org.hibernate.service.UnknownServiceException: Unknown service requested [org.hibernate.cache.spi.RegionFactory]
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:184)
at org.hibernate.cfg.Settings.getRegionFactory(Settings.java:300)
at org.hibernate.internal.SessionFactoryImpl$SessionBuilderImpl.openSession(SessionFactoryImpl.java:1322)
at org.hibernate.internal.SessionFactoryImpl.openSession(SessionFactoryImpl.java:672)
at org.springframework.orm.hibernate5.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:433)
... 9 more

Steps to reproduce the behavior

Backtrace/logs

[backtrace/logs]

Failed to load cakeshop in Tomcat8, Mac OS X 10.12

Description of problem

cakeshop fails to deploy with Tomcat8 on MAC OS X

Expected behavior

Expect Tomcat to successfully deploy cakeshop

Actual behavior

WAR deploy fails

Steps to reproduce the behavior

Install tomcat8 using brew
Install SpringBoot using brew
Install java using brew

Add the following options:
JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=local -Deth.config.dir=/private/tmp/tomcat8"

Modify geth.identity in /tmp/tomcat8/local/application.properties:
...
geth.identity=testckshop123
...

chmod 777 /private/tmp/tomcat8

System information

MAC OS X 10.12.6 (x86_64)

Cakeshop runtime configuration: [stand alone or attach mode]
standalone

Backtrace/logs

tests-MacBook-Pro-2:bin $ catalina run
Using CATALINA_BASE: /usr/local/Cellar/tomcat/8.5.23/libexec
Using CATALINA_HOME: /usr/local/Cellar/tomcat/8.5.23/libexec
Using CATALINA_TMPDIR: /usr/local/Cellar/tomcat/8.5.23/libexec/temp
Using JRE_HOME: /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home
Using CLASSPATH: /usr/local/Cellar/tomcat/8.5.23/libexec/bin/bootstrap.jar:/usr/local/Cellar/tomcat/8.5.23/libexec/bin/tomcat-juli.jar
05-Oct-2017 09:36:17.600 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version: Apache Tomcat/8.5.23
05-Oct-2017 09:36:17.607 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Sep 28 2017 10:30:11 UTC
05-Oct-2017 09:36:17.608 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number: 8.5.23.0
05-Oct-2017 09:36:17.608 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Mac OS X
05-Oct-2017 09:36:17.609 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 10.12.6
05-Oct-2017 09:36:17.609 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: x86_64
05-Oct-2017 09:36:17.609 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home
05-Oct-2017 09:36:17.610 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 9+181
05-Oct-2017 09:36:17.610 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: Oracle Corporation
05-Oct-2017 09:36:17.610 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: /usr/local/Cellar/tomcat/8.5.23/libexec
05-Oct-2017 09:36:17.611 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: /usr/local/Cellar/tomcat/8.5.23/libexec
05-Oct-2017 09:36:17.612 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/usr/local/Cellar/tomcat/8.5.23/libexec/conf/logging.properties
05-Oct-2017 09:36:17.613 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
05-Oct-2017 09:36:17.613 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
05-Oct-2017 09:36:17.614 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
05-Oct-2017 09:36:17.615 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dspring.profiles.active=local
05-Oct-2017 09:36:17.616 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Deth.config.dir=/tmp/tomcat8
05-Oct-2017 09:36:17.616 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/usr/local/Cellar/tomcat/8.5.23/libexec
05-Oct-2017 09:36:17.617 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/usr/local/Cellar/tomcat/8.5.23/libexec
05-Oct-2017 09:36:17.618 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/usr/local/Cellar/tomcat/8.5.23/libexec/temp
05-Oct-2017 09:36:17.618 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/Users/vobbilis/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.]
05-Oct-2017 09:36:17.687 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
05-Oct-2017 09:36:17.730 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
05-Oct-2017 09:36:17.734 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"]
05-Oct-2017 09:36:17.737 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
05-Oct-2017 09:36:17.738 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 737 ms
05-Oct-2017 09:36:17.856 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
05-Oct-2017 09:36:17.857 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.23
05-Oct-2017 09:36:17.901 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/usr/local/Cellar/tomcat/8.5.23/libexec/webapps/cakeshop.war]
05-Oct-2017 09:36:17.923 WARNING [localhost-startStop-1] org.apache.catalina.startup.SetContextPropertiesRule.begin [SetContextPropertiesRule]{Context} Setting property 'antiJARLocking' to 'true' did not find a matching property.
05-Oct-2017 09:36:21.092 INFO [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
INFO 2017-10-05 09:36:27,642 [localhost-startStop-1] (StartupInfoLogger.java:48 ) Starting WebAppInit v0.9.1 on tests-MacBook-Pro-2.local with PID 75673 (/usr/local/Cellar/tomcat/8.5.23/libexec/webapps/cakeshop/WEB-INF/classes started by vobbilis in /usr/local/Cellar/tomcat/8.5.23/libexec/bin)
INFO 2017-10-05 09:36:27,646 [localhost-startStop-1] (SpringApplication.java:670) The following profiles are active: local
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.springframework.cglib.core.ReflectUtils$1 (file:/usr/local/Cellar/tomcat/8.5.23/libexec/webapps/cakeshop/WEB-INF/lib/spring-core-4.2.8.RELEASE.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of org.springframework.cglib.core.ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
INFO 2017-10-05 09:36:30,255 [localhost-startStop-1] (AppConfig.java:113) eth.config.dir=/private/tmp/tomcat8/local
INFO 2017-10-05 09:36:30,258 [localhost-startStop-1] (AppConfig.java:96 ) Initializing new config from /usr/local/Cellar/tomcat/8.5.23/libexec/webapps/cakeshop/WEB-INF/classes/config/application-local.properties
INFO 2017-10-05 09:36:30,262 [localhost-startStop-1] (AppConfig.java:144) Loading config from /private/tmp/tomcat8/local/application.properties
WARN 2017-10-05 09:36:30,809 [localhost-startStop-1] (AbstractApplicationContext.java:546) Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.boot.autoconfigure.web.DispatcherServletAutoConfiguration$DispatcherServletConfiguration': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.springframework.boot.autoconfigure.web.ServerProperties org.springframework.boot.autoconfigure.web.DispatcherServletAutoConfiguration$DispatcherServletConfiguration.server; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serverProperties' defined in class path resource [org/springframework/boot/autoconfigure/web/ServerPropertiesAutoConfiguration.class]: Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/ValidationException
ERROR 2017-10-05 09:36:30,825 [localhost-startStop-1] (SpringApplication.java:827) Application startup failed
org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.boot.autoconfigure.web.DispatcherServletAutoConfiguration$DispatcherServletConfiguration': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.springframework.boot.autoconfigure.web.ServerProperties org.springframework.boot.autoconfigure.web.DispatcherServletAutoConfiguration$DispatcherServletConfiguration.server; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serverProperties' defined in class path resource [org/springframework/boot/autoconfigure/web/ServerPropertiesAutoConfiguration.class]: Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/ValidationException

[stacktrace/logs]

cakeshop quorum

Hi,

I have been trying to implement cakeshop for our quorum 5nodeRTGS and have successfully implement cakeshop using Docker.

Cakeshop version:- cakeshop-0.9.1-x86_64-Linux,

Issue - Unable to get BlockList in "Chain Explorer" tab.

Have tried clicking the block list button in the "Chain Explorer" tab with the url "/cakeshop/api/block/get"

but getting below error

**DEBUG 2018-02-13 07:12:12,251 /cakeshop/api/block/get

DEBUG 2018-02-13 07:12:12,253 /cakeshop/api/block/get
DEBUG 2018-02-13 07:12:12,254 /cakeshop/api/block/get
WARN 2018-02-13 07:12:12,249 [qtp2126067090-102] (BaseController.java:35 ) Caught exception: RPC request failed: invalid argument 0: hex string without 0x prefix
com.jpmorgan.cakeshop.error.APIException: RPC request failed: invalid argument 0: hex string without 0x prefix
at com.jpmorgan.cakeshop.service.impl.GethHttpServiceImpl.processResponse(GethHttpServiceImpl.java:197)
at com.jpmorgan.cakeshop.service.impl.GethHttpServiceImpl.executeGethCall(GethHttpServiceImpl.java:163)
at com.jpmorgan.cakeshop.service.impl.GethHttpServiceImpl.executeGethCall(GethHttpServiceImpl.java:144)
at sun.reflect.GeneratedMethodAccessor70.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at com.sun.proxy.$Proxy86.executeGethCall(Unknown Source)
at com.jpmorgan.cakeshop.service.impl.BlockServiceImpl.get(BlockServiceImpl.java:48)
at com.jpmorgan.cakeshop.controller.BlockController.getBlock(BlockController.java:39)
at sun.reflect.GeneratedMethodAccessor114.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.ja**

Please help us to get the block list and their information in the cakeshop quorum panel.

Thanks,
Anuj

Attach Cakeshop deployed via Webserver to an(some) already running Node(s)?

Description of problem

I was wondering if it is possible to start Cakeshop like described here (https://github.com/jpmorganchase/cakeshop/blob/master/README.md) via a webserver but still manage to attach to an already running quorum node.

Side question: Is there another place/discussion forum to ask simple quorum oder cakeshop questions?
If so, please let me know about it!

Expected behavior

Run a quorum network with different nodes. Deploy cakeshop via an own webserver. Attach cakeshop to one (and later more) nodes of the running network.

Actual behavior

Starting Cakeshop via the tutorial linked above starts the webserver and Cakeshop. However, this method starts in 'managed mode' and only gives access to a casual ethereum node as far as I know.
(There is nothing wrong with that but it is just not the use case I am trying to create)

Steps to reproduce the behavior

Follow the tutorial steps linked above.

System information

Cakeshop 0.10.0 Build 8d2a5ab

Cakeshop runtime configuration: stand alone via tomcat webserver but the goal is to somehow run in attach mode via the webserver

OS Version: Windows

Browser Version: Chrome/Firefoxi

Unable to pass array arguments to contract

Good afternoon,
I successfully deployed a contract with a bytes32[2] array as first argument :
pragma solidity ^0.4.9; contract test { function test(){ } function create(bytes32[2] input) returns (uint res) { res = input[0]; return res; } }
When curl-ing it using master-branch war, I can transact with this contract by passing the argument like that:
curl (...) """args""": "["["""1""","""2"""]"]"
But this will fail using the quorum-ui branch war, with a ""List value expected for type bytes32[2]" error
Would you know how I should now be passing array arguments to contracts under quorum-ui branch version of the API ?
Many thanks

Problem deploying Registry on attached Quorum

Hi There,

I can't find any documentation of how to deploy a Smart Contract Registry to a quorum if it does not already exist. I think it would be in application.properties, but the config docs on the registry do not cover how to deploy the registry.

I would expect deploying requires an account with some ether, so I would expect EITHER:

  • a config option for specifying an account with sufficient ether.
  • a link to the Quorum docs about deploying the registry.

I can't find either.

Thanks for your time!

Trying to get Cakeshop deployed

Description of problem

I downloaded the War file and I have Java 9.01 installed. From the cmd line I do this:

java -jar cakeshop.war

I get a log of events with several exceptions. I am a c# dev so much of the log is inscrutable.

Expected behavior

I expected to be able to open a browser and see the cakeshop running.

Actual behavior

Several exceptions and no running page
(paste logs at end)

Cakeshop OS & Version: Windows/Linux/OSX

OS is Windows 7 Enterprise

Browser OS & Version: Windows/Linux/OSX MSIE/Chrome/Firefox/Safari
MSIE

C:\Cakeshop War>java -jar cakeshop.war
Defaulting to spring profile: local
Extracting geth to C:\Cakeshop War\data\geth
[INFO ] 2017-11-15 14:50:52.617 [main] SpringBootApplication - Starting SpringBootApplication v0.10.0 on CDS-GD-D2 with PID 8576 (C:\Cakeshop War\cakeshop.war started by e0111560 in C:\Cakeshop War)
[INFO ] 2017-11-15 14:50:52.620 [main] SpringBootApplication - The following profiles are active: container,spring-boot,local
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass$3$1 (jar:file:/C:/Cakeshop%20War/cakeshop.war!/WEB-INF/lib/groovy-2.4.7.jar!/) to method java.lang.Object.finalize()
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass$3$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
[INFO ] 2017-11-15 14:50:56.949 [main] AppConfig - eth.config.dir=C:\Cakeshop War\data\local
[INFO ] 2017-11-15 14:50:56.953 [main] AppConfig - Initializing new config from C:\Cakeshop%20War\cakeshop.war!\WEB-INF\classes!\config\application-local.properties
[WARN ] 2017-11-15 14:50:56.954 [main] AppConfig - Authentication disabled.
[INFO ] 2017-11-15 14:50:56.967 [main] AppConfig - Loading config from C:\Cakeshop War\data\local\application.properties
[ERROR] 2017-11-15 14:50:57.506 [main] SpringApplication - Application startup failed
org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'embeddedServletContainerFactory' defined in com.jpmorgan.cakeshop.config.SpringBootApplication: Ini
tialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serverProperties' defined in class path resource [org/springframework/boot/autoconfigure/web/ServerPropertiesAutoConfiguration.class]: Initialization of bean failed
; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/ValidationException
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:137) ~[spring-boot-1.4.3.RELEASE.jar!/:1.4.3.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:536) ~[spring-context-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.4.3.RELEASE.jar!/:1.4.3.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:761) [spring-boot-1.4.3.RELEASE.jar!/:1.4.3.RELEASE]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:371) [spring-boot-1.4.3.RELEASE.jar!/:1.4.3.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) [spring-boot-1.4.3.RELEASE.jar!/:1.4.3.RELEASE]
at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:134) [spring-boot-1.4.3.RELEASE.jar!/:1.4.3.RELEASE]
at com.jpmorgan.cakeshop.config.SpringBootApplication.main(SpringBootApplication.java:69) [classes!/:0.10.0]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
at java.base/java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) [cakeshop.war:0.10.0]
at org.springframework.boot.loader.Launcher.launch(Launcher.java:87) [cakeshop.war:0.10.0]
at org.springframework.boot.loader.Launcher.launch(Launcher.java:50) [cakeshop.war:0.10.0]
at org.springframework.boot.loader.WarLauncher.main(WarLauncher.java:59) [cakeshop.war:0.10.0]
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'embeddedServletContainerFactory' defined in com.jpmorgan.cakeshop.config.SpringBootApplication: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationExceptio
n: Error creating bean with name 'serverProperties' defined in class path resource [org/springframework/boot/autoconfigure/web/ServerPropertiesAutoConfiguration.class]: Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/ValidationException
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:563) ~[spring-beans-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483) ~[spring-beans-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.getEmbeddedServletContainerFactory(EmbeddedWebApplicationContext.java:199) ~[spring-boot-1.4.3.RELEASE.jar!/:1.4.3.RELEASE]
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:162) ~[spring-boot-1.4.3.RELEASE.jar!/:1.4.3.RELEASE]
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:134) ~[spring-boot-1.4.3.RELEASE.jar!/:1.4.3.RELEASE]
... 15 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serverProperties' defined in class path resource [org/springframework/boot/autoconfigure/web/ServerPropertiesAutoConfiguration.class]: Initialization of bean failed; nested exception is java.lang.NoCla
ssDefFoundError: javax/xml/bind/ValidationException
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:563) ~[spring-beans-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483) ~[spring-beans-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:517) ~[spring-beans-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.getBeansOfType(AbstractApplicationContext.java:1197) ~[spring-context-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizerBeanPostProcessor.getCustomizers(EmbeddedServletContainerCustomizerBeanPostProcessor.java:77) ~[spring-boot-1.4.3.RELEASE.jar!/:1.4.3.RELEASE]
at org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizerBeanPostProcessor.postProcessBeforeInitialization(EmbeddedServletContainerCustomizerBeanPostProcessor.java:67) ~[spring-boot-1.4.3.RELEASE.jar!/:1.4.3.RELEASE]
at org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizerBeanPostProcessor.postProcessBeforeInitialization(EmbeddedServletContainerCustomizerBeanPostProcessor.java:54) ~[spring-boot-1.4.3.RELEASE.jar!/:1.4.3.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:409) ~[spring-beans-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1581) ~[spring-beans-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:554) ~[spring-beans-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483) ~[spring-beans-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-4.3.5.RELEASE.jar!/:4.3.5.RELEASE]
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.getEmbeddedServletContainerFactory(EmbeddedWebApplicationContext.java:199) ~[spring-boot-1.4.3.RELEASE.jar!/:1.4.3.RELEASE]
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:162) ~[spring-boot-1.4.3.RELEASE.jar!/:1.4.3.RELEASE]
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:134) ~[spring-boot-1.4.3.RELEASE.jar!/:1.4.3.RELEASE]

access control proposal

Hi, I wonder if cakeshop is capable of access control,
for the reason that not all widget need to be show to all the participants.
For example, if cakeshop is provided by one of the members, attaching to his own node, then he won't let others to stop or reboot his node with the 'Node Control' widget.
If there is a config file for the cakeshop provider, to config which widget, or tab can be show to all the visitors, that will do

CORS blocking on Cakeshop API

Description of problem

Impossible to query Cakeshop API from localhost to localhost

Expected behavior

Queries issued from webpage hosted at http://localhost:3000 to Cakeshop API running at http://localhost:8080/cakeshop/api would be accepted

Actual behavior

Queries issued from webpage hosted at http://localhost:3000 to Cakeshop API running at http://localhost:8080/cakeshop/api are forbidden, seemingly by CORS mechanism

Steps to reproduce the behavior

  1. Fire up a Cakeshop interface (java -jar cakeshop.war)
  2. Fire up (i.e. serve from NodeJS on port 3000) a very simple web page containing a jQuery POST call :

$.ajax({ url: "http://localhost:8080/cakeshop/api/contract/list", type: "POST", headers: { "Content-type":"application/json" }, success: function(data) { console.log(data) } })

System information

Cakeshop version or commit hash: 0.9.1
Cakeshop runtime configuration: standalone or attach
Geth/Quorum version testing against: v1.5.4-stable-b70acf3c/windows/go1.7.3
Cakeshop OS & Version: tried on Windows 10 and Ubuntu 16.04.2, both serving html file with nodeJS
Browser OS & Version: Chrome & Firefox

Backtrace/logs

Response in Chrome :
OPTIONS http://localhost:8080/cakeshop/api/contract/list 403 (Forbidden)
XMLHttpRequest cannot load http://localhost:8080/cakeshop/api/contract/list. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access. The response had HTTP status code 403.

Would you know how I could allow CORS requests to the Cakeshop API?

Many thanks for your help

"ERROR: Bad Request" when trying to transact with deployed SimpleStorage contract

Description of problem

Deployed a copy of SimpleStorage contract, but was unable to write a value with set() method. Browser throws an error that says "ERROR: Bad Request".

Note: I was able to manually run the set() method (setting value to 99) within geth (noting the contract address and ABI from info supplied in Cakeshop):

var address = "0x341ed42cdfb13b897a198cd1c87ddf070e25e6a1";

var abi = [{"constant":true,"inputs":[],"name":"storedData","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"x","type":"uint256"}],"name":"set","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"get","outputs":[{"name":"retVal","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[{"name":"initVal","type":"uint256"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"message","type":"string"},{"indexed":false,"name":"newVal","type":"uint256"}],"name":"Change","type":"event"}];

var storage = eth.contract(abi).at(address);

storage.set(99,{from:eth.coinbase});

Expected behavior

Set variable to int.

Actual behavior

Variable remains set to 0.

Steps to reproduce the behavior

Deploy SimpleStorage contract
Enter value for set and press Transact

System information

Cakeshop version or commit hash: Cakeshop 0.10.0 Build ce816b1

Cakeshop runtime configuration: Attached to 7nodes example

Geth/Quorum version testing against: 1.5.0-unstable

Cakeshop OS & Version: Linux

Browser OS & Version: Linux (Ubuntu 16.04 LTS) Chrome 57.0.2987.133 (64-bit)

Backtrace/logs

Console outputs:
[WARN ] 2017-07-05 15:28:02.295 [qtp133124661-187] BaseController - Caught exception: Too few arguments: 0 < 1
com.jpmorgan.cakeshop.error.ABIException: Too few arguments: 0 < 1
at com.jpmorgan.cakeshop.model.ContractABI$Entry$Param.encodeList(ContractABI.java:146) ~[cakeshop-abi-0.10.0.jar!/:?]
at com.jpmorgan.cakeshop.model.ContractABI$Function.encode(ContractABI.java:333) ~[cakeshop-abi-0.10.0.jar!/:?]
at com.jpmorgan.cakeshop.model.ContractABI$Function.encodeAsHex(ContractABI.java:329) ~[cakeshop-abi-0.10.0.jar!/:?]
at com.jpmorgan.cakeshop.model.TransactionRequest.toGethArgs(TransactionRequest.java:65) ~[classes!/:?]
at com.jpmorgan.cakeshop.service.impl.ContractServiceImpl.transact(ContractServiceImpl.java:301) ~[classes!/:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_131]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_131]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_131]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_131]
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302) ~[spring-aop-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) ~[spring-aop-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at com.sun.proxy.$Proxy112.transact(Unknown Source) ~[?:?]
at com.jpmorgan.cakeshop.controller.ContractController$1.call(ContractController.java:180) ~[classes!/:?]
at com.jpmorgan.cakeshop.controller.ContractController$1.call(ContractController.java:172) ~[classes!/:?]
at org.springframework.web.context.request.async.WebAsyncManager$4.run(WebAsyncManager.java:317) ~[spring-web-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_131]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_131]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[?:1.8.0_131]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[?:1.8.0_131]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]

cannot start cakeshop: ConnectException

Description of problem

Followed "Getting started" and was able to run the 7 nodes example.
Try to run cakeshop, but I cannot make it starts.
sometimes, the error was localhost/0:0:0:0:0:0:0:1:8102
in another time, it was not RPC: 21000, I ran netstat and I could not find program listening to RPC too, depsite the cakeshop showed all ok from "Running pre-flight checks"

Expected behavior

Able to start the cakeshop

Actual behavior

(paste logs at end)

Steps to reproduce the behavior

System information

Cakeshop version or commit hash: [version] Cakeshop v0.10.0 pre-release

Cakeshop runtime configuration: [stand alone or attach mode] stand alone

Geth/Quorum version testing against: [run geth version or copy from Node Info in UI]
Geth
Version: 1.5.4-stable
Git Commit: b70acf3c5bd335d8dedc2a5aa6eff05c4c32105e
Protocol Versions: [63 62]
Network Id: 1
Go Version: go1.7
OS: linux
GOPATH=
GOROOT=/usr/local/go

Cakeshop OS & Version: Linux

Browser OS & Version: Windows/Linux/OSX MSIE/Chrome/Firefox/Safari

Backtrace/logs

Copy all relevant log output. Use Gist for longer logs.

[stacktrace/logs]

in2017@ubuntu-vm1:~/quorum/codes$ java -jar cakeshop.war
Defaulting to spring profile: local
Extracting geth to /home/tester/quorum/codes/data/geth
[INFO ] 2017-07-10 10:03:04.163 [main] SpringBootApplication - Starting SpringBootApplication on ubuntu-vm1 with PID 1922 (started by intern2017 in /home/tester/quorum/codes)
[INFO ] 2017-07-10 10:03:04.171 [main] SpringBootApplication - The following profiles are active: container,spring-boot,local
[INFO ] 2017-07-10 10:03:06.418 [main] AppConfig - eth.config.dir=/home/tester/quorum/codes/data/local
[WARN ] 2017-07-10 10:03:06.419 [main] AppConfig - Authentication disabled.
[INFO ] 2017-07-10 10:03:06.435 [main] AppConfig - Loading config from /home/tester/quorum/codes/data/local/application.properties


Running pre-flight checks...

Testing ethereum data dir path
/home/tester/.ethereum
OK

Testing db path
/home/tester/quorum/codes/data/local/db
OK

Testing geth server binary
OK

Testing solc compiler binary
OK

ALL TESTS PASSED!


[INFO ] 2017-07-10 10:03:16.186 [main] AppStartup - Autostarting geth node
[INFO ] 2017-07-10 10:03:16.249 [main] ProcessUtils - Creating pid file: /home/tester/quorum/codes/data/local/constellation.pid
[INFO ] 2017-07-10 10:03:16.250 [main] GethHttpServiceImpl - CONSTELLATION STARTED
[INFO ] 2017-07-10 10:03:21.395 [main] ProcessUtils - Creating pid file: /home/tester/quorum/codes/data/local/geth.pid
[DEBUG] 2017-07-10 10:03:21.422 [StreamLogAdapter] geth - I0710 10:03:21.421905 cmd/utils/flags.go:545] WARNING: No etherbase set and no accounts found as default
[DEBUG] 2017-07-10 10:03:21.422 [StreamLogAdapter] geth - I0710 10:03:21.422023 ethdb/database.go:81] Allotted 128MB cache and 1024 file handles to /home/tester/.ethereum/geth/chaindata
[DEBUG] 2017-07-10 10:03:21.479 [StreamLogAdapter] geth - I0710 10:03:21.478883 ethdb/database.go:174] closed db:/home/tester/.ethereum/geth/chaindata
[ERROR] 2017-07-10 10:03:21.490 [main] GethHttpServiceImpl - RPC call failed - ConnectException: Failed to connect to localhost/0:0:0:0:0:0:0:1:8102
[DEBUG] 2017-07-10 10:03:21.505 [StreamLogAdapter] geth - I0710 10:03:21.504625 node/node.go:177] instance: Geth/intern2017/v1.5.0-unstable-8c47c29f/linux/go1.7.5
[DEBUG] 2017-07-10 10:03:21.505 [StreamLogAdapter] geth - I0710 10:03:21.504658 ethdb/database.go:81] Allotted 128MB cache and 1024 file handles to /home/tester/.ethereum/geth/chaindata
[DEBUG] 2017-07-10 10:03:21.541 [StreamLogAdapter] geth - I0710 10:03:21.540983 eth/backend.go:175] Protocol Versions: [63 62], Network Id: 1006
[ERROR] 2017-07-10 10:03:21.543 [main] GethHttpServiceImpl - RPC call failed - ConnectException: Failed to connect to localhost/0:0:0:0:0:0:0:1:8102
[DEBUG] 2017-07-10 10:03:21.583 [StreamLogAdapter] geth - Fatal: Could not list accounts: account index 0 out of range [0, -1]
[DEBUG] 2017-07-10 10:03:21.583 [StreamLogAdapter] geth - I0710 10:03:21.580804 core/blockchain.go:221] Last header: #0 [d4e56740…] TD=17179869184
[DEBUG] 2017-07-10 10:03:21.583 [StreamLogAdapter] geth - I0710 10:03:21.580845 core/blockchain.go:222] Last block: #0 [d4e56740…] TD=17179869184
[DEBUG] 2017-07-10 10:03:21.584 [StreamLogAdapter] geth - I0710 10:03:21.580851 core/blockchain.go:223] Fast block: #0 [d4e56740…] TD=17179869184
[DEBUG] 2017-07-10 10:03:21.584 [StreamLogAdapter] geth - I0710 10:03:21.581353 p2p/server.go:328] Starting Server
[DEBUG] 2017-07-10 10:03:21.584 [StreamLogAdapter] geth - I0710 10:03:21.582887 node/node.go:412] HTTP endpoint opened: http://127.0.0.1:8102
[DEBUG] 2017-07-10 10:03:21.584 [StreamLogAdapter] geth - Fatal: Could not list accounts: account index 0 out of range [0, -1]
[ERROR] 2017-07-10 10:03:21.595 [main] GethHttpServiceImpl - RPC call failed - ConnectException: Failed to connect to localhost/0:0:0:0:0:0:0:1:8102
[ERROR] 2017-07-10 10:03:21.647 [main] GethHttpServiceImpl - RPC call failed - ConnectException: Failed to connect to localhost/0:0:0:0:0:0:0:1:8102
[ERROR] 2017-07-10 10:03:21.699 [main] GethHttpServiceImpl - RPC call failed - ConnectException: Failed to connect to localhost/0:0:0:0:0:0:0:1:8102
[ERROR] 2017-07-10 10:03:21.750 [main] GethHttpServiceImpl - RPC call failed - ConnectException: Failed to connect to localhost/0:0:0:0:0:0:0:1:8102

Contract does not exist

System information

Cakeshop version or commit hash: 0.9.0

Geth/Quorum version testing against: 1.5.5-stable

OS & Version: Ubuntu 16.04 LTS

Expected behavior

no log statements

Actual behavior

log statements, cmp. "logs"

Steps to reproduce the behavior

Start cakeshop in attach mode.
Deploy contract
Stop cakeshop
Restart cakeshop

Backtrace/logs

/cakeshop/api/contract/list
 WARN 2016-12-19 20:59:26,261 [BlockSaver-42] (SavingBlockListener.java:118) Failed to load transaction details for tx
com.jpmorgan.cakeshop.error.APIException: Contract does not exist at 0xc47aa6c1987ec4737b40a327620c31fd1995602f
	at com.jpmorgan.cakeshop.service.impl.ContractServiceImpl.get(ContractServiceImpl.java:228)

Some cakeshop api is not working properly

POST /contract/compile Compile the given source code into EVM binary is not working.

POST /contract/create Deploy the given contract onto the chain and add it to the Contract Registry is not working.

POST /contract/get Get information about the contract at the given address getting below error

POST /contract/read Read contract data using the given method and arguments (does not create a transaction). Optionally read historical state data by passing a block number in the past.

POST /contract/transact Call a transactional method on the given contract. No state will change until the transaction is committed into a Block.
{
"errors": [
{
"status": "500",
"title": "Internal server error",
"detail": "APIException: RPC request failed: invalid or missing value for params[0]"
}
],
"meta": {
"version": "1.0",
"cakeshop-version": "0.9.1",
"cakeshop-build-id": "6c7a88ee8b317fe2b69c97fe1e838112cb655411",
"cakeshop-build-date": "2017-01-03T15:42:16.969-0500"
}
}

Wallets Created in Cakeshop Locked with no Ability to Unlock

Description of problem

I am attempting to run the ballot smart contract with multiple accounts. I have created multiple account via the Wallet tab in Cakeshop. However, as soon as I attempt to execute a contract function via the sandbox, I get an error and this message appears in my console, saying that my address is locked.

It seems like the root of this issue is that the new addressed is 'locked'. However, I did not see a way in the GUI to unlock it.

Expected behavior

Accounts created in the Cakeshop GUI should be unlocked by default or given a way to unlock via the interface.

Actual behavior

I get this error in the console:

WARN 2017-03-31 12:07:54,680 [qtp1942106014-19] (JsonMethodArgumentResolver.java:128) Param type mismatch for 'privateFor'; got class java.lang.String
DEBUG 2017-03-31 12:07:54,687 /cakeshop/api/contract/transact
 WARN 2017-03-31 12:07:54,740 [qtp1942106014-21] (BaseController.java:35 ) Caught exception: RPC request failed: account is locked
com.jpmorgan.cakeshop.error.APIException: RPC request failed: account is locked
	at com.jpmorgan.cakeshop.service.impl.GethHttpServiceImpl.processResponse(GethHttpServiceImpl.java:197)
	at com.jpmorgan.cakeshop.service.impl.GethHttpServiceImpl.executeGethCall(GethHttpServiceImpl.java:163)
	at com.jpmorgan.cakeshop.service.impl.GethHttpServiceImpl.executeGethCall(GethHttpServiceImpl.java:144)
	at sun.reflect.GeneratedMethodAccessor64.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
	at com.sun.proxy.$Proxy86.executeGethCall(Unknown Source)
	at com.jpmorgan.cakeshop.service.impl.ContractServiceImpl.transact(ContractServiceImpl.java:301)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
	at com.sun.proxy.$Proxy98.transact(Unknown Source)
	at com.jpmorgan.cakeshop.controller.ContractController$1.call(ContractController.java:201)
	at com.jpmorgan.cakeshop.controller.ContractController$1.call(ContractController.java:194)
	at org.springframework.web.context.request.async.WebAsyncManager$4.run(WebAsyncManager.java:317)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

Steps to reproduce the behavior

Launch the 7nodes example on as explained in the tutorial. Create a new account via the wallet tab. Go to the sandbox and execute the ballot contract, and give permission to your new account to vote. Then switch to that account and attempt to vote on the contract.

System information

Cakeshop version or commit hash: Cakeshop 0.9.1 Build 6c7a88e

Geth/Quorum version testing against: 1.5.9-Stable

Cakeshop OS & Version: Linux

Browser OS & Version: Ubuntu 16.04, Chrome 57.0.2987.110 (64-bit)

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.