Transactions mined only by one node all the time

I am running 2 Ethereum nodes on AWS EC2 instance.

geth --datadir "~/ethereum2/data2" --networkid 1606 --port 30301 --rpc --rpcport 8001 --rpcaddr "" --rpccorsdomain "*" --rpcapi "eth,personal,web3,net,db,admin

geth --datadir "~/ethereum1/data1" --networkid 1606 --port 30302 --rpc --rpcport 8002 --rpcaddr "" --rpccorsdomain "*" --rpcapi "eth,personal,web3,net,db,admin

My app connects to the chain from

module.exports = {
networks: {
development: {
host : "",
port: 8001,
network_id: "*"

I am able to make them mine blocks, make them peers of each other and blocks are also synching. My question is whenever I fire a transaction from my like deploying contract on chain, these transactions get mined only on machine IP1 as I have provided the host as IP1. Just want to know

1, The blocks and transactions are always getting mined only by IP1 machine and IP2 is just getting synched?

2, Is this (1) what happens in real world dapps?

3, How to make dapp in such a way that all nodes compete to mine the transactions like how it happens in public ethereum chain?

I have posted this question at


Sign In or Register to comment.