github.com/unicornultrafoundation/go-u2u@v1.0.0-rc1.0.20240205080301-e74a83d3fadc/demo/start.sh (about)

     1  #!/usr/bin/env bash
     2  cd $(dirname $0)
     3  . ./_params.sh
     4  
     5  set -e
     6  
     7  echo -e "\nStart $N nodes:\n"
     8  
     9  go build -o ../build/demo_u2u ../cmd/u2u
    10  
    11  rm -f ./transactions.rlp
    12  for ((i=0;i<$N;i+=1))
    13  do
    14      DATADIR="${PWD}/u2u$i.datadir"
    15      mkdir -p ${DATADIR}
    16  
    17      PORT=$(($PORT_BASE+$i))
    18      RPCP=$(($RPCP_BASE+$i))
    19      WSP=$(($WSP_BASE+$i))
    20      ACC=$(($i+1))
    21      PPROFP=$(($PPROFP_BASE+$i))
    22      PROMETHEUSP=$(($PROMETHEUSP_BASE+$i))
    23  
    24      (../build/demo_u2u \
    25  	--datadir=${DATADIR} \
    26  	--fakenet=${ACC}/$N \
    27  	--port=${PORT} \
    28  	--nat extip:127.0.0.1 \
    29  	--http --http.addr="127.0.0.1" --http.port=${RPCP} --http.corsdomain="*" --http.api="eth,debug,net,admin,web3,personal,txpool,dag" \
    30  	--ws --ws.addr="127.0.0.1" --ws.port=${WSP} --ws.origins="*" --ws.api="eth,debug,net,admin,web3,personal,txpool,dag" \
    31      --pprof --pprof.addr="127.0.0.1" --pprof.port=${PPROFP} \
    32  	--verbosity=3 --tracing --monitor --monitor.prometheus.port=${PROMETHEUSP}  >> u2u$i.log 2>&1)&
    33  
    34      echo -e "\tnode$i ok"
    35  done
    36  
    37  echo -e "\nConnect nodes to ring:\n"
    38  for ((i=0;i<$N;i+=1))
    39  do
    40      for ((n=0;n<$M;n+=1))
    41      do
    42          j=$(((i+n+1) % N))
    43  
    44  	enode=$(attach_and_exec $j 'admin.nodeInfo.enode')
    45          echo "    p2p address = ${enode}"
    46  
    47          echo " connecting node-$i to node-$j:"
    48          res=$(attach_and_exec $i "admin.addPeer(${enode})")
    49          echo "    result = ${res}"
    50      done
    51  done