diff --git a/swarm/cmd/swarm/swarm.sh b/swarm/cmd/swarm/swarm.sh index d150e25597..df2fe41aa0 100644 --- a/swarm/cmd/swarm/swarm.sh +++ b/swarm/cmd/swarm/swarm.sh @@ -121,8 +121,10 @@ function init { killall geth reset all cluster $* - stop all - cluster $* + enode all + connect all + # stop all + # cluster $* } function reset { @@ -136,6 +138,61 @@ function reset { } +function enode { + dir=$root/$network_id + id=$1 + shift + if [ $id = "all" ]; then + N=`ls -1 $dir/enodes/|wc -l` + enodes=$dir/enodes.all + rm -f $enodes + # build a static nodes(-like) list of all enodes of the local cluster + echo "[" >> $enodes + for ((i=0;i> $enodes + echo "," >> $enodes + fi + done + echo "\"\"]" >> $enodes + cmd=$dir/connect.js + for ((i=0;i> $cmd + cat "$enode" >> $cmd + echo ");" >> $cmd + fi + done + else + enode=$dir/enodes/$id.enode + attach $id --exec "'console.log(admin.nodeInfo.enode)'" |head -2 |tail -1| perl -pe 's/^/"/;s/$/"/'|perl -pe 's/\s*$//' > $enode + # cat $enode + fi + +} + +function connect { + dir=$root/$network_id + id=$1 + shift + if [ $id = "all" ]; then + for ((i=0;i> $enodes - for ((i=0;i> $enodes - echo "," >> $enodes - fi - done - echo "\"\"]" >> $enodes - for ((i=0;i