118 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			118 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| 
 | |
| set -xeo
 | |
| 
 | |
| NUM_SECTORS=2
 | |
| SECTOR_SIZE=2048
 | |
| 
 | |
| 
 | |
| sdt0111=$(mktemp -d)
 | |
| sdt0222=$(mktemp -d)
 | |
| sdt0333=$(mktemp -d)
 | |
| 
 | |
| staging=$(mktemp -d)
 | |
| 
 | |
| make debug
 | |
| 
 | |
| ./lotus-seed --sectorbuilder-dir="${sdt0111}" pre-seal --miner-addr=t0111 --sector-offset=0 --sector-size=${SECTOR_SIZE} --num-sectors=${NUM_SECTORS} &
 | |
| ./lotus-seed --sectorbuilder-dir="${sdt0222}" pre-seal --miner-addr=t0222 --sector-offset=0 --sector-size=${SECTOR_SIZE} --num-sectors=${NUM_SECTORS} &
 | |
| ./lotus-seed --sectorbuilder-dir="${sdt0333}" pre-seal --miner-addr=t0333 --sector-offset=0 --sector-size=${SECTOR_SIZE} --num-sectors=${NUM_SECTORS} &
 | |
| 
 | |
| wait
 | |
| 
 | |
| ./lotus-seed aggregate-manifests "${sdt0111}/pre-seal-t0111.json" "${sdt0222}/pre-seal-t0222.json" "${sdt0333}/pre-seal-t0333.json" > "${staging}/genesis.json"
 | |
| 
 | |
| lotus_path=$(mktemp -d)
 | |
| 
 | |
| ./lotus --repo="${lotus_path}" daemon --lotus-make-random-genesis="${staging}/devnet.car" --genesis-presealed-sectors="${staging}/genesis.json" --bootstrap=false &
 | |
| lpid=$!
 | |
| 
 | |
| sleep 3
 | |
| 
 | |
| kill "$lpid"
 | |
| 
 | |
| wait
 | |
| 
 | |
| cp "${staging}/devnet.car" build/genesis/devnet.car
 | |
| 
 | |
| make debug
 | |
| 
 | |
| ldt0111=$(mktemp -d)
 | |
| ldt0222=$(mktemp -d)
 | |
| ldt0333=$(mktemp -d)
 | |
| 
 | |
| sdlist=( "$sdt0111" "$sdt0222" "$sdt0333" )
 | |
| ldlist=( "$ldt0111" "$ldt0222" "$ldt0333" )
 | |
| 
 | |
| for (( i=0; i<${#sdlist[@]}; i++ )); do
 | |
|   preseal=${sdlist[$i]}
 | |
|   fullpath=$(find ${preseal} -type f -iname 'pre-seal-*.json')
 | |
|   filefull=$(basename ${fullpath})
 | |
|   filename=${filefull%%.*}
 | |
|   mineraddr=$(echo $filename | sed 's/pre-seal-//g')
 | |
| 
 | |
|   wallet_raw=$(jq -rc ".${mineraddr}.Key" < ${preseal}/${filefull})
 | |
|   wallet_b16=$(./lotus-shed base16 "${wallet_raw}")
 | |
|   wallet_adr=$(./lotus-shed keyinfo --format="{{.Address}}" "${wallet_b16}")
 | |
|   wallet_adr_enc=$(./lotus-shed base32 "wallet-${wallet_adr}")
 | |
| 
 | |
|   mkdir -p "${ldlist[$i]}/keystore"
 | |
|   cat > "${ldlist[$i]}/keystore/${wallet_adr_enc}" <<EOF
 | |
| ${wallet_raw}
 | |
| EOF
 | |
| 
 | |
|   chmod 0700 "${ldlist[$i]}/keystore/${wallet_adr_enc}"
 | |
| done
 | |
| 
 | |
| pids=()
 | |
| for (( i=0; i<${#ldlist[@]}; i++ )); do
 | |
|   repo=${ldlist[$i]}
 | |
|   ./lotus --repo="${repo}" daemon --api "3000$i" --bootstrap=false &
 | |
|   pids+=($!)
 | |
| done
 | |
| 
 | |
| sleep 10
 | |
| 
 | |
| boot=$(./lotus --repo="${ldlist[0]}" net listen)
 | |
| 
 | |
| for (( i=1; i<${#ldlist[@]}; i++ )); do
 | |
|   repo=${ldlist[$i]}
 | |
|   ./lotus --repo="${repo}" net connect ${boot}
 | |
| done
 | |
| 
 | |
| sleep 3
 | |
| 
 | |
| mdt0111=$(mktemp -d)
 | |
| mdt0222=$(mktemp -d)
 | |
| mdt0333=$(mktemp -d)
 | |
| 
 | |
| env LOTUS_PATH="${ldt0111}" LOTUS_STORAGE_PATH="${mdt0111}" ./lotus-storage-miner init --genesis-miner --actor=t0111 --pre-sealed-sectors="${sdt0111}" --pre-sealed-metadata="${sdt0111}/pre-seal-t0111.json" --nosync=true --sector-size="${SECTOR_SIZE}" || true
 | |
| env LOTUS_PATH="${ldt0111}" LOTUS_STORAGE_PATH="${mdt0111}" ./lotus-storage-miner run --nosync &
 | |
| mpid=$!
 | |
| 
 | |
| env LOTUS_PATH="${ldt0222}" LOTUS_STORAGE_PATH="${mdt0222}" ./lotus-storage-miner init                 --actor=t0222 --pre-sealed-sectors="${sdt0222}" --pre-sealed-metadata="${sdt0222}/pre-seal-t0222.json" --nosync=true --sector-size="${SECTOR_SIZE}" || true
 | |
| env LOTUS_PATH="${ldt0333}" LOTUS_STORAGE_PATH="${mdt0333}" ./lotus-storage-miner init                 --actor=t0333 --pre-sealed-sectors="${sdt0333}" --pre-sealed-metadata="${sdt0333}/pre-seal-t0333.json" --nosync=true --sector-size="${SECTOR_SIZE}" || true
 | |
| 
 | |
| kill $mpid
 | |
| wait $mpid
 | |
| 
 | |
| for (( i=0; i<${#pids[@]}; i++ )); do
 | |
|   kill ${pids[$i]}
 | |
| done
 | |
| 
 | |
| wait
 | |
| 
 | |
| rm -rf $mdt0111
 | |
| rm -rf $mdt0222
 | |
| rm -rf $mdt0333
 | |
| 
 | |
| rm -rf $ldt0111
 | |
| rm -rf $ldt0222
 | |
| rm -rf $ldt0333
 | |
| 
 | |
| rm -rf $sdt0111
 | |
| rm -rf $sdt0222
 | |
| rm -rf $sdt0333
 | |
| 
 | |
| rm -rf $staging
 |