0

I am pretty new to quorum/tessera. I have successfully tested a small POC with 3 quorum+tessera nodes on the same machine. Now, I am trying to do a similar POC with 4 nodes on different VMs. The nodes are working fine (I can see them as peers of one another). I can also deploy contracts publicly to them but when I try to deploy a contract using privateFor option, I get the following error:

err creating contract Error: Non-200 status code: &{Status:500 Internal Server Error StatusCode:500 Proto:HTTP/1.1 ProtoMajor:1 ProtoMinor:1 Header:map[Content-Length:[62] Content-Type:[text/plain] Date:[Sun, 11 Oct 2020 04:02:02 GMT] Server:[Jetty(9.4.25.v20191220)]] Body:0xc00908ef80 ContentLength:62 TransferEncoding:[] Close:false Uncompressed:false Trailer:map[] Request:0xc00976f200 TLS:<nil>}

I have followed the steps/commands as done in 7node examples for setting up these nodes. My tessera-config file is:

{
    "encryptor":{
        "type":"NACL",
        "properties":{
            
        }
    },
    "useWhiteList": false,
    "jdbc": {
        "username": <username>,
        "password": <password>,
        "url": "jdbc:mysql://localhost:3306/tessera1",
        "autoCreateTables": true
    },
    "serverConfigs":[
        {
            "app":"ThirdParty",
            "enabled": true,
            "serverAddress": "http://localhost:9080",
            "cors" : {
                "allowedMethods" : ["GET", "OPTIONS"],
                "allowedOrigins" : ["*"]
            },
            "communicationType" : "REST"
        },
        {
            "app":"Q2T",
            "enabled": true,
            "serverAddress":"unix:/home/myfolder/c1/tm.ipc",
            "communicationType" : "REST"
        },
        {
            "app":"P2P",
            "enabled": true,
            "serverAddress":"http://127.0.0.1:9000",
            "sslConfig": {
                "tls": "OFF",
                "generateKeyStoreIfNotExisted": true,
                "serverKeyStore": "/home/myfolder/c1/server1-keystore",
                "serverKeyStorePassword": "quorum",
                "serverTrustStore": "/home/myfolder/c1/server-truststore",
                "serverTrustStorePassword": "quorum",
                "serverTrustMode": "TOFU",
                "knownClientsFile": "/home/myfolder/c1/knownClients",
                "clientKeyStore": "/home/myfolder/c1/client1-keystore",
                "clientKeyStorePassword": "quorum",
                "clientTrustStore": "/home/myfolder/c1/client-truststore",
                "clientTrustStorePassword": "quorum",
                "clientTrustMode": "TOFU",
                "knownServersFile": "/home/myfolder/c1/knownServers"
            },
            "communicationType" : "REST"
        }
    ],
    "peer": [
        
        {
            "url": "http://<IP1>:9000"
        },
        {
            "url": "http://<IP2>:9000"
        },
        {
            "url": "http://<IP3>:9000"
        }
        {
            "url": "http://<IP4>:9000"
        }
    ],
    "keys": {
        "passwords": [],
        "keyData": [
            {
                "privateKeyPath": "/home/myfolder/c1/t1.key",
                "publicKeyPath": "/home/myfolder/c1/t1.pub"
            }
        ]
    },
    "alwaysSendTo": [<PUBKEY of IP1>]
}

This is the tessera-config file used for all the nodes (similar to the one used in 7nodes example). Following are the commands, I have used to start the tessera node and quorum node respectively:

java -cp ../mysql-connector-java-8.0.21.jar:/pathTo/tessera-app-0.11.1-SNAPSHOT-app.jar:. com.quorum.tessera.launcher.Main -configfile c1/tessera-config.json

PRIVATE_CONFIG=c1/tm.ipc geth --datadir qnode --nodiscover --nousb --allow-insecure-unlock --verbosity 5 --networkid 15 --raft --raftblocktime 50 --rpc --rpccorsdomain=* --rpcvhosts=* --rpcaddr 0.0.0.0 --rpcapi admin,eth,debug,miner,net,shh,txpool,personal,web3,quorum,raft,quorumPermission,quorumExtension --emitcheckpoints --unlock 0 --password passwords.txt --permissioned --raftport 50401 --rpcport 21000 --port 22000

I also get a warning that private-config.json is missing (but I got this warning for my earlier POC as well). The 7nodes example also doesn't have a private-config.json. As I am able to do public transactions on these nodes, I think this isn't the problem of nodes not interacting. Is there something I am missing while starting up the nodes?

Tessera logs:

2020-10-12 09:15:17.023 [main] WARN  c.q.t.c.c.NoUnmatchedElementsValidator - Ignoring unknown/unmatched json element: enabled
2020-10-12 09:15:17.027 [main] WARN  c.q.t.c.c.NoUnmatchedElementsValidator - Ignoring unknown/unmatched json element: enabled
2020-10-12 09:15:17.028 [main] WARN  c.q.t.c.c.NoUnmatchedElementsValidator - Ignoring unknown/unmatched json element: enabled
2020-10-12 09:15:17.242 [main] WARN  c.q.t.c.c.NoUnmatchedElementsValidator - Ignoring unknown/unmatched json element: enabled
2020-10-12 09:15:17.245 [main] WARN  c.q.t.c.c.NoUnmatchedElementsValidator - Ignoring unknown/unmatched json element: enabled
2020-10-12 09:15:17.245 [main] WARN  c.q.t.c.c.NoUnmatchedElementsValidator - Ignoring unknown/unmatched json element: enabled
2020-10-12 09:15:17.427 [main] INFO  c.q.tessera.enclave.EnclaveFactory - Creating enclave
2020-10-12 09:15:17.428 [main] INFO  c.q.tessera.enclave.EnclaveFactory - Creating enclave server
2020-10-12 09:15:18.323 [main] INFO  c.q.t.t.TesseraScheduledExecutor - Starting PartyInfoBroadcaster
2020-10-12 09:15:18.323 [main] INFO  c.q.t.t.TesseraScheduledExecutor - Started PartyInfoBroadcaster
2020-10-12 09:15:18.326 [main] INFO  c.q.t.t.TesseraScheduledExecutor - Starting EnclaveKeySynchroniserFactory
2020-10-12 09:15:18.330 [main] INFO  c.q.t.t.TesseraScheduledExecutor - Started EnclaveKeySynchroniserFactory
2020-10-12 09:15:18.356 [main] INFO  c.q.t.config.apps.TesseraAppFactory - Loaded app com.quorum.tessera.p2p.P2PRestApp@58324c9f
2020-10-12 09:15:18.359 [main] INFO  c.q.t.config.apps.TesseraAppFactory - Loaded app com.quorum.tessera.q2t.Q2TRestApp@12f279b5
2020-10-12 09:15:18.370 [main] WARN  c.q.t.c.util.EncryptedStringResolver - Some sensitive values are being given as unencrypted plain text in config. Please note this is NOT recommended for production environment.
2020-10-12 09:15:18.376 [main] INFO  com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2020-10-12 09:15:18.916 [main] INFO  com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2020-10-12 09:15:19.272 [main] INFO  eclipselink.logging.all - EclipseLink, version: Eclipse Persistence Services - 2.7.7.v20200504-69f2c2b80d
2020-10-12 09:15:19.472 [main] INFO  c.q.t.config.apps.TesseraAppFactory - Loaded app com.quorum.tessera.thirdparty.ThirdPartyRestApp@350d26f3
2020-10-12 09:15:19.472 [main] INFO  c.q.t.config.apps.TesseraAppFactory - Create from REST THIRD_PARTY
2020-10-12 09:15:19.472 [main] INFO  c.q.t.config.apps.TesseraAppFactory - Creating application type THIRD_PARTY for REST
2020-10-12 09:15:19.481 [main] INFO  c.q.t.config.apps.TesseraAppFactory - Create from REST Q2T
2020-10-12 09:15:19.481 [main] INFO  c.q.t.config.apps.TesseraAppFactory - Creating application type Q2T for REST
2020-10-12 09:15:19.482 [main] INFO  c.q.t.config.apps.TesseraAppFactory - Create from REST P2P
2020-10-12 09:15:19.482 [main] INFO  c.q.t.config.apps.TesseraAppFactory - Creating application type P2P for REST
2020-10-12 09:15:19.527 [main] INFO  org.eclipse.jetty.util.log - Logging initialized @4026ms to org.eclipse.jetty.util.log.Slf4jLog
2020-10-12 09:15:19.593 [main] INFO  c.quorum.tessera.server.JerseyServer - Starting http://localhost:9080
2020-10-12 09:15:19.597 [main] INFO  org.eclipse.jetty.server.Server - jetty-9.4.25.v20191220; built: 2019-12-20T17:00:00.294Z; git: a9729c7e7f33a459d2616a8f9e9ba8a90f432e95; jvm 11.0.8+10-post-Ubuntu-0ubuntu118.04.1
2020-10-12 09:15:20.139 [main] WARN  o.g.jersey.internal.inject.Providers - A provider com.quorum.tessera.api.common.RawTransactionResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider com.quorum.tessera.api.common.RawTransactionResource will be ignored. 
2020-10-12 09:15:20.140 [main] WARN  o.g.jersey.internal.inject.Providers - A provider com.quorum.tessera.thirdparty.PartyInfoResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider com.quorum.tessera.thirdparty.PartyInfoResource will be ignored. 
2020-10-12 09:15:20.140 [main] WARN  o.g.jersey.internal.inject.Providers - A provider com.quorum.tessera.thirdparty.KeyResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider com.quorum.tessera.thirdparty.KeyResource will be ignored. 
2020-10-12 09:15:20.406 [main] INFO  o.e.j.server.handler.ContextHandler - Started o.e.j.s.ServletContextHandler@72d0196d{/,null,AVAILABLE}
2020-10-12 09:15:20.432 [main] INFO  o.e.jetty.server.AbstractConnector - Started ServerConnector@57b1ec84{HTTP/1.1,[http/1.1]}{0.0.0.0:9080}
2020-10-12 09:15:20.434 [main] INFO  org.eclipse.jetty.server.Server - Started @4934ms
2020-10-12 09:15:20.436 [main] INFO  c.quorum.tessera.server.JerseyServer - Started http://localhost:9080
2020-10-12 09:15:20.437 [main] INFO  c.quorum.tessera.server.JerseyServer - WADL http://localhost:9080/application.wadl
2020-10-12 09:15:20.456 [main] INFO  c.quorum.tessera.server.JerseyServer - Starting unix:/home/ubuntu/4VMPOC/c1/tm.ipc
2020-10-12 09:15:20.458 [main] INFO  org.eclipse.jetty.server.Server - jetty-9.4.25.v20191220; built: 2019-12-20T17:00:00.294Z; git: a9729c7e7f33a459d2616a8f9e9ba8a90f432e95; jvm 11.0.8+10-post-Ubuntu-0ubuntu118.04.1
2020-10-12 09:15:20.575 [main] WARN  o.g.jersey.internal.inject.Providers - A provider com.quorum.tessera.api.common.RawTransactionResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider com.quorum.tessera.api.common.RawTransactionResource will be ignored. 
2020-10-12 09:15:20.577 [main] WARN  o.g.jersey.internal.inject.Providers - A provider com.quorum.tessera.q2t.TransactionResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider com.quorum.tessera.q2t.TransactionResource will be ignored. 
2020-10-12 09:15:20.722 [main] INFO  o.e.j.server.handler.ContextHandler - Started o.e.j.s.ServletContextHandler@2e47a71e{/,null,AVAILABLE}
2020-10-12 09:15:21.018 [main] INFO  o.e.jetty.server.AbstractConnector - Started UnixSocketConnector@3dee3a6c{HTTP/1.1,[http/1.1]}{/home/ubuntu/4VMPOC/c1/tm.ipc}
2020-10-12 09:15:21.021 [main] INFO  org.eclipse.jetty.server.Server - Started @5520ms
2020-10-12 09:15:21.022 [main] INFO  c.quorum.tessera.server.JerseyServer - Started unix:/home/ubuntu/4VMPOC/c1/tm.ipc
2020-10-12 09:15:21.022 [main] INFO  c.quorum.tessera.server.JerseyServer - WADL unix:/home/ubuntu/4VMPOC/c1/tm.ipc/application.wadl
2020-10-12 09:15:21.023 [main] INFO  c.quorum.tessera.server.JerseyServer - Starting http://localhost:9000
2020-10-12 09:15:21.023 [main] INFO  org.eclipse.jetty.server.Server - jetty-9.4.25.v20191220; built: 2019-12-20T17:00:00.294Z; git: a9729c7e7f33a459d2616a8f9e9ba8a90f432e95; jvm 11.0.8+10-post-Ubuntu-0ubuntu118.04.1
2020-10-12 09:15:21.107 [main] WARN  o.g.jersey.internal.inject.Providers - A provider com.quorum.tessera.p2p.PartyInfoResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider com.quorum.tessera.p2p.PartyInfoResource will be ignored. 
2020-10-12 09:15:21.107 [main] WARN  o.g.jersey.internal.inject.Providers - A provider com.quorum.tessera.p2p.TransactionResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider com.quorum.tessera.p2p.TransactionResource will be ignored. 
2020-10-12 09:15:21.162 [main] INFO  o.e.j.server.handler.ContextHandler - Started o.e.j.s.ServletContextHandler@61648dd2{/,null,AVAILABLE}
2020-10-12 09:15:21.164 [main] INFO  o.e.jetty.server.AbstractConnector - Started ServerConnector@61ca5134{HTTP/1.1,[http/1.1]}{0.0.0.0:9000}
2020-10-12 09:15:21.164 [main] INFO  org.eclipse.jetty.server.Server - Started @5663ms
2020-10-12 09:15:21.164 [main] INFO  c.quorum.tessera.server.JerseyServer - Started http://localhost:9000
2020-10-12 09:15:21.164 [main] INFO  c.quorum.tessera.server.JerseyServer - WADL http://localhost:9000/application.wadl
2020-10-12 09:15:23.324 [pool-2-thread-1] INFO  c.q.t.p.p.PartyInfoBroadcaster - Started PartyInfo polling round
2020-10-12 09:15:23.356 [pool-2-thread-1] INFO  c.q.t.p.p.PartyInfoBroadcaster - Finished PartyInfo polling round

Thanks.

2
  • The error signifies that Tessera to Quorum link isn't running. Can you share more details on your setup? Whats in the tessera log? – fixanoid Oct 12 '20 at 4:50
  • Hi, I have added the tessera logs in the question. Any other detail that may be required? – Tanay Bhartia Oct 12 '20 at 15:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.