Code Monkey home page Code Monkey logo

quorum-maker's Introduction

Quorum Maker V2.6.5

Synechron's Quorum Maker is a tool that allows users to create and manage Quorum network. Manually editing configuration files and creating nodes is a slow and error-prone process. Quorum Maker can create any number of nodes of various configurations dynamically with reduced user input. This provides a wizard-like interface with a series of questions to guide the user when creating nodes. Quorum Maker can create nodes to:

  • run with docker-compose for easy use in development environments
  • nodes to be distributed on separate Linux boxes or cloud instances for a production environment
  • support to run on Kubernetes

Uses Quorum 2.6 and Tessera 0.10.6

Quorum Maker 2

Quorum Maker provides the following benefits:

  • An easy interface to create and manage the Quorum Network
  • A modern UI to monitor and manage Quorum Network
  • A Network Map Service to be used for identifying nodes and self-publishing roles.
  • Block and Transaction Explorer
  • Smart Contract Deployment
  • Email Notifications

Quickstart

Please refer to Quorum Maker Wiki for complete reference on using Quorum Maker.

For quick help, run ./setup.sh --help

Change Log

Change log V2.6.5

  1. Upgraded to Tessera 0.10.6
  2. Upgraded to Quorum 2.6
  3. Added Kubernetes Support (Use Tag *_k8s)
  4. Added flag (--aa/--autoaccept) for auto accepting join request

Change log V2.6.2

  1. Upgraded to Tessera 0.8
  2. Upgraded to Quorum 2.2.1
  3. Fixed bug on private transaction with Constellation
  4. Fixed issue #87 (#87) Block structure not preserved

Change log V2.6.1

  1. Added flag to expose ports automatically in Dev/Test Network setup
  2. Added flag to create nodes in Tessera by default
  3. Fix typo on Enabled API (nethh => net,shh)

Change log V2.6

  1. Added Tessera support for Dev/Test network creation
  2. Added Tessera support for multi-machine setup
  3. Fixed port issue with constellation configuration

Change log V2.5.2

  1. Quorum version changed to V2.2.0
  2. Added detach mode for non-interactive setup
  3. Print Project details in table for Dev/Test network
  4. Fix for WS support
  5. QM banner and version information on startup

Change log V2.5.1

  1. Quorum version changed to V2.1.1

Change log V2.5

  1. Quorum version changed to V2.1.0

Change log V2.4

  1. Added command line flags for running Quorum Maker non-interactively
  2. Whitelist feature added for automatically accepting join requests from whitelisted IPs
  3. Account explorer with account creation feature added
  4. Attach mode restart notification added to UI
  5. Attach mode contract updation based on enode instead of nodename from setup.conf
  6. Logging added for incoming join requests
  7. Redundant node name updation steps removed

Change log V2.3

  1. Attaching nodes to exisisting Quorum node is fully supported.
  2. Attached node can approve Join Requests. E.g. Fully migrate 7node example to Quorum Maker and add additional nodes.
  3. Quorum Maker can deploy Smart Contracts using inheritance.
  4. Auto attach ABI of smart contracts deployed using Truffle and Quorum Maker Smart Contract Deployer.
  5. All solidity data types are supported on the transaction parameter view.
  6. Enabled WS Ports for Web3 push service.
  7. Additional template for sending test mail on email service registration
  8. Added -d flag for start.sh of nodes to run in daemon mode.

quorum-maker's People

Contributors

abhayar avatar carnelius8888 avatar dhyansraj avatar dianakearns avatar fixanoid avatar gtt116 avatar mdulin2 avatar rajarshi-syne avatar rakhisb avatar rjbanner avatar ruchikachakala avatar synechron-finlabs avatar zwx00 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

quorum-maker's Issues

How to connect Quorummaker internal network with the LAN network ?

hi,

I have set up a quorum-maker dev network (setup option 4) using vagrant . I am unable to see the dashboard from my host machine. How to get the 2 separate network connection bridged so that I can open the quorum maker dashboard on the host machine and if possible on any machine in the local network ?

Is this repo abandoned?

Don't see any activity for the past few months here. Though I do see a few new docker images getting published. Could you atleast let us know which docker image to use to upgrade to quorum 2.0?

Dynamic addition and deletion of node

IP Change isssue -

Problem Description - We run our block chain quorum nodes on AWS -EC2 instances, as per our current set up we are not using Elastic IP. Last week one of our quorum node reboot and we lost the IP address. Now the block chain network shows node is not connected in network.

Can we please make add feature like adding and removing nodes dynamically.

Great Job!!

Using attach to an existing node (option 3), on geth 1.7.2, Quorum 2.0.2, Quorum-Maker 2.3, compiled on my own private blockchain on my Mac without using Vagrant/Docker. Great job @synechron-finlabs . Some bugs yet, but getting there.

screen shot 2018-07-22 at 9 16 00 am

metamask get invalid sender error.

Hi there.

I used latest quorum maker, version 2.0.2_2.3 to setup a private network in Aliyun.

http://47.74.211.253:22204/dashboard

I can connect to truffle console, deploy contract and use truffle to send transactions.

However, I cannot send transaction from metamask. it returns a error "invalid sender".

ui.js:1 [ethjs-rpc] rpc error with payload {"id":4841107047314,"jsonrpc":"2.0","params":["0xf86a08808252089497f1fbf68b7f956018236d14251a2a60cc0a6698880de0b6b3a764000080830256aea024cd0f03d5bfd0dab464b8df21931d839ac80da32acb6b5e62d0d3f488584477a00b6ca220b9b1394d44a41dd81c24b88ed87d40ee94e28f0a18f8f677d741864b"],"method":"eth_sendRawTransaction"} Error: invalid sender

I also tried to copy the signed message to truffle console and submit using truffle. it returns same error,
have any one tried to connect to metamask with quorum private chain? I also tried 7nodes example. it returns same error message -- invalid sender.

Thanks in advance. any hints ?

http: panic serving: runtime error: invalid memory address or nil pointer dereference

Hi,

I'm experiencing a similar issue reported here
Consensys/quorum#531

I'm running a network of 4 nodes locally using quote-maker. It's been working fine for a while, but all of a sudden I'm not able to write/read to the network.

Error:

node2    | 2018/10/31 10:58:45 http: panic serving 10.50.0.1:53204: runtime error: invalid memory address or nil pointer dereference
node2    | goroutine 704 [running]:
node2    | net/http.(*conn).serve.func1(0xc4200a6140)
node2    | 	/usr/local/go/src/net/http/server.go:1726 +0xd0
node2    | panic(0x7d8a40, 0xc45d90)
node2    | 	/usr/local/go/src/runtime/panic.go:502 +0x229
node2    | github.com/ybbus/jsonrpc.(*RPCResponse).GetObject(0x0, 0x79e260, 0xc42000c6a0, 0x85, 0x0)
node2    | 	/go/src/github.com/ybbus/jsonrpc/jsonrpc.go:609 +0x26
node2    | github.com/synechron-finlabs/quorum-maker-nodemanager/client.(*EthClient).AdminPeers(0xc420126840, 0xc, 0xc42009a910, 0xc420090330)
node2    | 	/go/src/github.com/synechron-finlabs/quorum-maker-nodemanager/client/EthClient.go:182 +0x137
node2    | github.com/synechron-finlabs/quorum-maker-nodemanager/contractclient.(*NetworkMapContractClient).ActiveNodesHandler(0xc420126840, 0x897220, 0xc420136000, 0xc420275300)
node2    | 	/go/src/github.com/synechron-finlabs/quorum-maker-nodemanager/contractclient/NetworkMapContractHandler.go:200 +0x174
node2    | github.com/synechron-finlabs/quorum-maker-nodemanager/contractclient.(*NetworkMapContractClient).ActiveNodesHandler-fm(0x897220, 0xc420136000, 0xc420275300)
node2    | 	/go/src/github.com/synechron-finlabs/quorum-maker-nodemanager/main.go:89 +0x48

Please see screenshots of the stacktrace attached

screenshot 2018-10-31 at 11 16 30
screenshot 2018-10-31 at 11 16 15

Please let me know if there any further details I can provide. Thank you!

Unable to deploy contracts via REMIX IDE

Hey team,

I had setup a network under 1) Create Network; & able to access the network & node manager.

However, I'm unable to attach the web3 Provider under Remix IDE as per the result:
You can send transactions to A.B.C.D:22000

Can't connect two Nodes on two machines in AWS

Using centOS 7 on ec2 instances with the latest quorum-maker.
Wanted to connect a Node from instance A with a Node from instance B with the "join network" task.
I configured the Network-Node and can access the webinterface.

Node A:
Please select an option:

  1. Create Network
  2. Join Network
  3. Attach to an existing Node
  4. Setup Development/Test Network
  5. Exit
    option: 1
    Please enter node name: nodename1
    Please enter IP Address of this node: myip
    Please enter RPC Port of this node[Default:22000]:
    Please enter Network Listening Port of this node[Default:22001]:
    Please enter Constellation Port of this node[Default:22002]:
    Please enter Raft Port of this node[Default:22003]:
    Please enter Node Manager Port of this node[Default:22004]:
    Please enter WS Port of this node[Default:22005]:

Successfully created and started nodename1
You can send transactions to myip:22000
For private transactions, use pTRZo0CoFY8z8Og977Il8EJt7NkIQe0zETP6rLEPmW8=
For accessing Quorum Maker UI, please open the following from a web browser http://localhost:22004/
To join this node from a different host, please run Quorum Maker and choose option to run Join Network
When asked, enter myip for Existing Node IP and 22004 for Node Manager Port


{"level":"info","msg":"Node Manager listening on :22004...","time":"2018-10-02T09:56:19Z"}
{"level":"info","msg":"Deploying Network Manager Contract","time":"2018-10-02T09:56:20Z"}
{"level":"info","msg":"Adding whitelisted IPs","time":"2018-10-02T09:56:23Z"}
^C{"level":"info","msg":"Node Manager Shutting down","time":"2018-10-02T10:13:19Z"}

Node B:
Please select an option:

  1. Create Network
  2. Join Network
  3. Attach to an existing Node
  4. Setup Development/Test Network
  5. Exit
    option: 2
    Please enter node name: noden12
    Please enter IP Address of existing node: myip
    Please enter Node Manager Port of existing node: 22004
    Please enter IP Address of this node: myotherip
    Please enter RPC Port of this node[Default:22000]:23000
    Please enter Network Listening Port of this node[Default:23001]:
    Please enter Constellation Port of this node[Default:23002]:
    Please enter Raft Port of this node[Default:23003]:
    Please enter Node Manager Port of this node[Default:23004]:
    Please enter WS Port of this node[Default:23005]:

Join Request sent to myip. Waiting for approval...

and then it gets stuck and times out. I don't get a notification for a approval. is this an error with docker and ports on the instance?
Edit: There is no file in qdata/logs, so I don't know whats the error.

Kubernetes Support

So I've been spending quite some time trying to deploy on kubernetes. It works and all nodes have persistent volumes with stateful sets deployment. Now only problem is that upon a pod restart, its data is preserved but the pod IP is changed. With stateful deployments, all pods replicas would have a unique static hostname tied to the cluster ip that never change till you delete the whole cluster. So I tried using it and it successfully encodes it and joins a network under that hostname but when the nodemanager is launched it throws an exception saying nat encountered an invalid ip. so it never ends booting up
Any thought on where in the code I can change this so it doesn't throw this error when it encounters a hostname rather than an ip?

Adding nodes post hoc?

Is there a simple way to add nodes after the initial nodes are up and running?

If no, what is the correct way to approach this?

Support tessera

Currently, quorum-maker use Constellation as Quorum's transaction manager, adding the support for Tessera maybe a good choice.

Unable to join node to existing network

Hi,

i am trying to setup quorum maker on multiple vms in azure environment. I have successfully created first node.
The second node is getting stuck after this message
"Join Request sent to 52.242.26.191. Waiting for approval..."
"Previous request for Joining Network is still pending. Please try later. Program exiting"

In the first node docker logs , i see the joining request. I am not sure whats happening after that? Also, where are the logs associated with the errors located at ? Cant find them either.

Thank you for helping with the issue in advance.

Decode in Progress

Hello, we did more research and we create ower own Quorum Blockchain with 5 nodes (3yes-2no permissioned) on Linux and Mac from scratch and we are using Quorum-Maker option 3 to attach to an existing node, and as you said only some features are available. We can also deploy contracts. We are not using Docker nor Vagrant. We can do transaction privately and publicly using simplestorage.sol contract between nodes. Can you tell me more about this error Decode in Progress, we tried to move some ether from a pre-founded address to a no-funded one, any idea?
screen shot 2018-07-06 at 10 12 02 pm

First node's IP is different from the tutorial

Hi,

I was setting up a network based on the tutorial in README.md. "Creating the first node" went on without any problems, I filled out the "form" using the exact data that was given in the tutorial including the IP address.

Then I went on to "Joining a Network", used the data that was given but it could not connect to the first node. It was a bit strange so I ran the following command to find the container's IP address:

docker inspect <first node's container id> | grep "IPAddress"

and it gave me this: 172.17.0.2 (instead of 10.0.2.15)

Any idea why it can't use the IP that I gave it?

BTW I'm using Manjaro Linux 17.1.11

Nodes data not synced after restart?

I'm running a 5 nodes setup, each on a different Ubuntu machine on Azure. They worked with no problems for a couple of weeks. Then today I noticed that 3 nodes were down.

I reactivated them by calling ./start.sh and they came back with no issue.

But I'm not sure the data on one of my contracts was fully restored. Is this possible?

Here are some related questions:

  1. Why would a node go down? Should I take care to restart it periodically?

  2. After a restart, all the data on all the contracts should be restored, right?

  3. If a node goes down and comes back, how does the sync process work?

  4. In my case 3 out of 5 nodes were down. The manager node was still up. How would the sync process work in such a case, to restore consensus?

  5. Where in the actual transaction data in the logs?

  6. Is there a script that monitors the nodes and send email in case a node goes down, or even better takes care to restore it?

Thanks!

Why do Accounts get locked quickly ?

hello !

This morning i ran my previously created nodes with this repo, and i used truffle to migrate (deploy) my contract, then used it as usual to test my contract and add upon it.

now i tried to run call some functions with web3 and it throws an error : account locked, i know the accounts get unlocked on the node start but do they stay for only 4 hours ? because that is the time difference between my calls .

Nodes not starting in production-like environment

I've managed to create and run a node configuration for development use. I've used the vagrant box provided in the quorum 7nodes-example, because i ran into issues with the provided vagrant box.

When trying to run a configuration for production-like environment, the bootnode won't start. I've created 2 nodes, with no docker-compose support. This is the configuration:

Would you like to use this with docker-compose support? [y/N] n
Please enter a project name: real_raspi_net
Please enter node name: node1
Generating public and private keys for  node1, Please enter password or leave blank
Lock key pair node1 with password [none]:
Generating public and private backup keys for  node1, Please enter password or leave blank
Lock key pair node1a with password [none]:
Is this a Block Maker Node? [y/N]: y
Is this the only block maker ? [y/N]: y
Is this a Voter Node? [y/N]: y
lib/setup_multibox.sh: line 215: n: command not found
Do you wish to add more nodes? [y/N]: y
Please enter node name: node2
Generating public and private keys for  node2, Please enter password or leave blank
Lock key pair node2 with password [none]:
Generating public and private backup keys for  node2, Please enter password or leave blank
Lock key pair node2a with password [none]:
Is this a Voter Node? [y/N]: y
lib/setup_multibox.sh: line 215: n: command not found
Do you wish to add more nodes? [y/N]: n
I0828 09:12:30.565265 ethdb/database.go:81] Allotted 128MB cache and 1024 file handles to /quorum-maker/real_raspi_net/node1/qdata/geth/chaindata
I0828 09:12:30.572834 ethdb/database.go:174] closed db:/quorum-maker/real_raspi_net/node1/qdata/geth/chaindata
I0828 09:12:30.573521 ethdb/database.go:81] Allotted 128MB cache and 1024 file handles to /quorum-maker/real_raspi_net/node1/qdata/geth/chaindata
I0828 09:12:30.590077 cmd/geth/main.go:232] successfully wrote genesis block and/or chain rule set: 1205ad3c4d83ee877fd44769d2255c8cc1d281f2f0fedf5ffeac8c306da5f1c7
I0828 09:12:30.655379 ethdb/database.go:81] Allotted 128MB cache and 1024 file handles to /quorum-maker/real_raspi_net/node2/qdata/geth/chaindata
I0828 09:12:30.660146 ethdb/database.go:174] closed db:/quorum-maker/real_raspi_net/node2/qdata/geth/chaindata
I0828 09:12:30.660528 ethdb/database.go:81] Allotted 128MB cache and 1024 file handles to /quorum-maker/real_raspi_net/node2/qdata/geth/chaindata
I0828 09:12:30.675563 cmd/geth/main.go:232] successfully wrote genesis block and/or chain rule set: 1205ad3c4d83ee877fd44769d2255c8cc1d281f2f0fedf5ffeac8c306da5f1c7
Successfully created project: real_raspi_net
Please use following public address for private transactions between nodes
--------------------------------------------------------------------------
node1 7haaX7fR50X4dalUakx+qDIWWBcYAuj3YeqyeCc/dT4=
node2 /E1QspHPwRmU8z4IzpGEs2bewSpgyFrOqVTUB0QDDi4=

Here i am confused about the lib/setup_multibox.sh: line 215: n: command not found.

When running the ./start.sh, a string like d166e71e6ae620138de96eb48290d305d262741a75ebd275d007e8f9a3df7104 is printed, and than the script stops. Also, docker ps does not show any containers. This is the setup.conf:

CURRENT_IP=10.10.10.116
RPC_PORT=22000
WHISPER_PORT=22001
CONSTELLATION_PORT=22002
BOOTNODE_PORT=22003
MASTER_IP=10.10.10.116
MASTER_CONSTELLATION_PORT=22002

This is the bootnode.log:

I0828 11:41:25.878757 p2p/discover/udp.go:217] Listening, enode://29149c520747fe634fe2c35b73e78b8e5c48b4af6ddb6f10342f02443a5d3b80fcfc1bac925ca08464fd60717fc2abcf6c1d13966e13c43c12e6bd5a1e81a374@172.17.0.2:22003

This is the constellation_node1.log:

[*] Starting node1 node
[*] Starting node1 node
[*] Starting node1 node
[*] Starting node1 node
[*] Starting node1 node
[*] Starting node1 node

This is the node1.log:

[*] Starting Constellation node
2017 Aug-28 11:41:29000283 [INFO] Log level is LevelWarn
constellation-node: Network.Socket.bind: permission denied (Operation not permitted)
[*] geth --verbosity 6 --datadir qdata --bootnodes enode://29149c520747fe634fe2c35b73e78b8e5c48b4af6ddb6f10342f02443a5d3b80fcfc1bac925ca08464fd60717fc2abcf6c1d13966e13c43c12e6bd5a1e81a374@[10.10.10.116]:22003 --networkid 87234 --rpc --rpcaddr 0.0.0.0 --rpcapi admin,db,eth,debug,miner,net,shh,txpool,personal,web3,quorum --rpcport 22000 --port 22001 --blockmakeraccount 0x42d166a0f4d0df88183dd7a4db7d54d7ff180733 --blockmakerpassword   --singleblockmaker #voterPattern# --minblocktime 2 --maxblocktime 5 --nat extip:10.10.10.116

UPDATE: I get the same behavior when trying to run node2 on my own ubuntu system. Also, no logs are created there.
I also get the same behaviour when using the provided vagrant box.

Remove node does not work

./remove_node.sh: No such file or directory

there is no such script inside, any idea how to remove the node ?

thanks

New nodes cannot synchronize blocks

image version
syneblock/quorum-maker:2.1.1_2.5.1

Expected behaviour
Use quorum-maker to create a node, join the network, and synchronize the highest blocks

Actual behaviour
New nodes cannot synchronize the latest blocks

Steps to reproduce the behaviour

  1. Using quorum-maker to build a new network
  2. Normal operation of the network, so that the height of the block to 10,000
  3. Using quorum-maker to join the current network
  4. Check the health of the second node

Error in production-like environment: "Network.Socket.bind: permission denied"

Hi,

i'm trying to run multiple nodes in multiple VM's. This is the error i'm getting in the node logs:

[*] Starting Constellation node
2017 Aug-31 09:39:39715614 [INFO] Log level is LevelWarn
constellation-node: Network.Socket.bind: permission denied (Operation not permitted)
[*] geth --verbosity 6 --datadir qdata --bootnodes enode://081af0eec4688aaa14aaf847e9aae78c9fedcbedd16c6e3cff928625cab6a83103a514565dbfed04544b4bc7fb7e8a88234f6b426c387f1b5c46089107d268a9@[10.40.93.116]:10000 --networkid 87234 --rpc --rpcaddr 0.0.0.0 --rpcapi admin,db,eth,debug,miner,net,shh,txpool,personal,web3,quorum --rpcport 22800 --port 38000  #voterPattern# --minblocktime 2 --maxblocktime 5 --nat extip:10.10.10.116

Any idea what the problem is ?

Run node in the background.

How can i run start.sh in the background?. Thing is i want to run start.sh as a background process. ctrl+c exits the process and removes the container. Is there any way to run it in the background?.

Cannot Connect Nodes

My problem is that upon page load there is a notification in the top left corner where I can connect new nodes, yet it immediately disappears. I cannot connect new nodes because of this.

(MacOS) Cannot connect over http to test nodes

Hello! I'm new to the awesome QM. I am following the quick-start to deploy a test network on my mac. I'm using the latest docker and QM. After running 'docker-compose up' I navigate to the following URLs in chrome\safari without any response back. Do I need to configure something extra? I don't have any anti-viruses or firewall apps installed.

http://10.50.0.2:22004
http://10.50.0.3:22004

----- Full copy-paste from the terminal -----
Please select an option:

  1. Create Network
  2. Join Network
  3. Attach to an existing Node
  4. Setup Development/Test Network
  5. Exit
    option: 4
    Please enter a project name[Default:TestNetwork]:TestNetwork
    Please enter number of nodes to be created[Default:3]:
    Creating TestNetwork with 3 nodes. Please wait...
    ##################################################
    Project TestNetwork created successfully. Please execute docker-compose up from TestNetwork directory
    macs-MacBook-Pro:quorum-maker mac$ ls
    LICENSE TestNetwork doc lib setup.sh
    README.md Vagrantfile img qm.variables
    macs-MacBook-Pro:quorum-maker mac$ cd TestNetwork/
    macs-MacBook-Pro:TestNetwork mac$ docker-compose up
    Creating network "testnetwork_vpcbr" with driver "bridge"
    Creating node1 ... done
    Creating node3 ... done
    Creating node2 ... done
    Attaching to node2, node1, node3
    node2 | Waiting for Node 1 to deploy NetworkManager contract...
    node1 | {"level":"info","msg":"Node Manager listening on :22004...","time":"2018-08-17T00:41:50Z"}
    node3 | Waiting for Node 1 to deploy NetworkManager contract...
    node1 | {"level":"info","msg":"Deploying Network Manager Contract","time":"2018-08-17T00:41:51Z"}
    node2 | {"level":"info","msg":"Node Manager listening on :22004...","time":"2018-08-17T00:41:55Z"}
    node3 | {"level":"info","msg":"Node Manager listening on :22004...","time":"2018-08-17T00:41:55Z"}
    node1 | {"level":"info","msg":"Adding whitelisted IPs","time":"2018-08-17T00:41:55Z"}
    node2 | {"level":"info","msg":"Adding whitelisted IPs","time":"2018-08-17T00:41:57Z"}
    node3 | {"level":"info","msg":"Adding whitelisted IPs","time":"2018-08-17T00:41:57Z"}

Minimum open ports for deployment

I've been developing a 10 node setup, and kept ports 22000 - 22005 open. We are now moving to deployment and need to secure the system from outside hits. My questions are:

  1. Can I entirely close the dashboard port at 22004? (So the dashboard would be visible only from localhost)

  2. What is the purpose of the whisper port at 22001, and the WS port at 22005?

Cannot start two nodes in single machine.

I am trying to setup two nodes in the single machine. I have only 4 aws instances. But i want to setup 6 nodes. I tried to setup two nodes in my local system first. First node started successfully. But second node failed saying "Unknown Error. Please check log. Program exiting".

First node rpc --> localhost:22002

Second node rpc --> localhost:33002 (This one fails to start).

I have checked the scripts. It is not able to fetch genesis data from node manager of the main node. I ran the post manually from the postman and it works. I think the problem is in pre_start_check.sh file.

Attaching screen shot -->
quroumissuenode

P2P NodeDatabase vs NetworkManagerContract

Hi team,

Just curious why NetworkManagerContract was introduced instead of using what's exposed by quorum/node/api.go ?

Currently case is that on any peer connected to cluster it's possible to interact with NetworkManagerContract, execute its registerNode and add completely invalid peer (for example with public key = wqfqwf and enode id = wqfqwf).

Another outcome of using NetworkManagerContract right from start leads to fact p2p server is absolutely not aware of peers connected via smart contract.

Thanks in advance for understanding in case I missed pretty obvious reasons for this approach to be implemented.

2nd node not showing up on Quorum-Maker GUI

I created a first node on an Ubuntu 18 server running on Azure. Then I connected to the manager and everything seems fine.
Now I created a second node, gave the join approval from the first node and got the confirmation. So node 2 was also created successfully.
But when connecting to the GUI on node 1 (http://node1ip:22004) I can only see 1 active node -- the node itself.
On node 2, http://node2ip:22004 there is also 1 active node. When I click to see it, the Node Table is empty, without information even on the node itself.
What's the issue here? Is the network setup? How do I solve it?

Approve/Reject Join Request

I am not receiving any notification on UI or e-mail for the join request and approval. Using quorum-maker:2.0.2_2.1.

Any help?

Smart contract storage issue

Hello. I tried to deploy the Solidity project to Quorum and find that one contract can call another contract function but it can't return value from storage contract. Example:

Contract First {

bool public b = false;

function setb () public {
    b = true;
}

}

Contract Second {

First _storage;

constructor (address adr) public {
_storage = adr;
}

function setb () public {
_storage.setb();
}

function getb() public view returns (bool){
return _storage.b();
}
Contracts must be deployed separately.

So at first step I called setb() from contract 2, then checked b in first contract. It was true, but function getb() retuns 'false'. And this issue with all datatypes.

Maybe I must configure node to remove this issue, but I don't know what exactly must be done. Can you help me with this question?

How do I remove a node from the network?

I have a network with several nodes and one of them is permanently inactive, and would never come back. How do I remove it? There's no need for it to be in /getNodeList.

RPC port

In the previous version of quorum-maker, default RPC port 22000 was available and could be used by RPC-JSON-based applications like web3js and ethers.js. For version 2.1 test/development network (option 1 in setup.sh) the RPC port is not available even though the correct RPC port shows up on the UI screen. Since my node.js application depends on connecting to the blockchain via JSON-RPC, this is a serious issue.

About Image Version Replacement

current version: 2.0.2
Latest version: 2.1.1_2.5.1

I want to replace the current version with the latest version. What should I do?

lib/setup_multibox.sh: line 215: n: command not found

When going through the setup.sh script, after the Voter Node option, this error appears:

Is this the only block maker ? [y/N]: y
Is this a Voter Node? [y/N]: y

lib/setup_multibox.sh: line 215: n: command not found

Do you wish to add more nodes? [y/N]:

Integrating SWARM

This seems like a great product!

How would we integrate Ethereum Swarm into the start process for the nodes to have a network/testnet with quorum and swarm running on the nodes?

Thanks!

Deploying contracts fails in production-like-environment

Hi,

i've created nodes withouth docker-compose support, for a production-like environment. I can start the bootnode without problems, this is the output of $ docker ps:

CONTAINER ID        IMAGE               COMMAND              CREATED             STATUS              PORTS                                                                                                                                                      NAMES
82f85324ea37        syneblock/quorum    "./start_node1.sh"   3 seconds ago       Up 2 seconds        0.0.0.0:9000->9000/tcp, 0.0.0.0:10000->10000/tcp, 0.0.0.0:22000->22000/tcp, 0.0.0.0:10000->10000/udp, 0.0.0.0:30000->30000/tcp, 0.0.0.0:30000->30000/udp   gallant_morse

When i'm now trying to deploy a contract, via truffle or cakeshop, the process simply freezes. Any idea why ? When creating nodes with docker-compose support everything works fine.

upgrade to later version of geth

Quorum-maker uses geth version Geth/v1.5.0-unstable ... how would I modify install_quorum.sh to use a later version of Geth,Quoum, and Constellation?

auto unlock account

I am doing some test on the new version 2.1 using java web3j-quorum.
I found that the account is not unlocked automatically, so I can not deploy or doing some transaction on it directly.

So what I am doing is that I modified start_quorum_template.sh
adding unlock option and delete the raft option in the end

--raft --nodiscover --networkid $NETID --rpc --rpcaddr 0.0.0.0 --rpcapi admin,db,eth,debug,miner,net,shh,txpool,personal,web3,quorum --unlock 0 --password qdata/password.txt --emitcheckpoints

Then add a empty file under qdata folder.

Can you guys take this suggestion, then it would be easier for other guys to deploy smart contract.

Can not open nodeManager correctly.

I try to build up a real network.
I created a master node by using setup.sh and start.sh. Actually I got the dashboard and all services related to quorum working, but for process ./NodeManager, it is not working properly.
I checked the port usage, port 22004 is not being used.
Here is the setup.conf

CURRENT_IP=172.17.0.2
RPC_PORT=22000
WHISPER_PORT=22001
CONSTELLATION_PORT=22002
RAFT_PORT=22003
THIS_NODEMANAGER_PORT=22004
NETWORK_ID=62989
RAFT_ID=1
NODENAME=master-raft
ROLE=Unassigned
CONTRACT_ADD=
REGISTERED=
PUBKEY=f85mKvINrWdk7AgZjpvovSbvkAJ98y9SjBFmEHtj6lQ=
PUBKEY=f85mKvINrWdk7AgZjpvovSbvkAJ98y9SjBFmEHtj6lQ=
CONTRACT_ADD=0xe59490ae7de0dcc76efccadb02a65fd658c8d43c
REGISTERED=TRUE
PUBKEY=f85mKvINrWdk7AgZjpvovSbvkAJ98y9SjBFmEHtj6lQ=
PUBKEY=f85mKvINrWdk7AgZjpvovSbvkAJ98y9SjBFmEHtj6lQ=

I found CONTRACT_ADD and REGISTERED is missing, I guess it would be filled by node manager.

image
image
is there anything I didn't set up correctly?
I also find in nodemanager.sh
./start_nodemanager.sh #rpcPort# #servicePort#
do I need to put the port number here to make it working?

web3.js connection problem

I built a 3-node TestNetwork by quorum-maker. And I deployed a very simple contract on it.
Then I new a web3.js project to interact with the blockchain. The code is as below:

var Web3 = require('web3');
var web3 = new Web3();
web3.setProvider(new Web3.providers.WebsocketProvider('http://10.50.0.2:22005'));
console.log(web3.currentProvider);

var abi = [{"constant":false,"inputs":[],"name":"myFunction","outputs":[{"name":"myNumber","type":"uint256"},{"name":"myString","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"function"}];
var addr = "0x146291dac7a37966886d8d8b70a074c6b9fb2198";

var myContract = new web3.eth.Contract(abi, addr);
console.log(myContract.methods.myFunction().call());

And the execution result is as below:

root@mxy-VM:/home/mxy/web3test# node index.js 
WebsocketProvider {
  responseCallbacks: {},
  notificationCallbacks:
   [ [Function: requestManagerNotification],
     [Function: requestManagerNotification],
     [Function: requestManagerNotification],
     [Function: requestManagerNotification],
     [Function: requestManagerNotification],
     [Function: requestManagerNotification],
     [Function: requestManagerNotification],
     [Function: requestManagerNotification] ],
  _customTimeout: undefined,
  connection:
   W3CWebSocket {
     _listeners: {},
     addEventListener: [Function: _addEventListener],
     removeEventListener: [Function: _removeEventListener],
     dispatchEvent: [Function: _dispatchEvent],
     _url: 'http://10.50.0.2:22005',
     _readyState: 0,
     _protocol: undefined,
     _extensions: '',
     _bufferedAmount: 0,
     _binaryType: 'arraybuffer',
     _connection: undefined,
     _client:
      WebSocketClient {
        _events: [Object],
        _eventsCount: 2,
        _maxListeners: undefined,
        config: [Object],
        _req: [ClientRequest],
        protocols: [],
        origin: undefined,
        url: [Url],
        secure: false,
        base64nonce: 'Qw0wxEadUJGRZIggxR1AvQ==' },
     onerror: [Function],
     onclose: [Function],
     onmessage: [Function] },
  connected: [Getter] }
Promise { <pending> }

It seems that blockchain is not connected? What's wrong with my operation?

License

At the moment licensing is undefined for the project. Are you considering choosing one in the near future? :)

(My dissertation will be based on Quorum and so far Quorum Maker looks like the best management tool that is out there.)

Node goes down after specific load with error "Invalid JSON RPC response:"

Hi, I have deployed 4 different quorum nodes on 4 different Azure VMs(each with 8GB RAM, 2 CPUs, 3200 Max IOPS) using Quorum Maker.
Everything works fine except when the node is loaded with more than a specific number of transactions(much less than the standard TPS); the node stops responding with error "Invalid JSON RPC response:" (After this error, this node becomes unreachable for web3 as well).
To start the application, I have to restart the node every time it fails (using start.sh script).

Please suggest what could be wrong here? (edited)

problem with geth attach inside a node

Hey, i did run the nodes that i configured, but i came a cross this error when trying to attach to a node via geth.

root@70a7c51b38f4:/maker1/qdata# geth attach geth.ipc 
Fatal: Unable to attach to remote geth: dial unix geth.ipc: connect: connection refused
root@70a7c51b38f4:/maker1/qdata# geth attach geth.ipc 
Fatal: Unable to attach to remote geth: dial unix geth.ipc: connect: connection refused
root@70a7c51b38f4:/maker1/qdata# geth attach geth.ipc 

At first i couldn't connect with RPC to the nodes even with the correct port so i wanted to check everything with wbe3 manually. are these errors related ?
I use truffle to connect to rpc, it displayed this error :

Could not connect to your Ethereum client. Please check that your Ethereum client:
    - is running
    - is accepting RPC connections (i.e., "--rpc" option is used in geth)
    - is accessible over the network
    - is properly configured in your Truffle configuration file (truffle.js)

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.