2024-07-02 06:14:17 +00:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								#!/bin/bash
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								MINER_KEY=""
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								MINE_CONTRACT=""
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								BLOCKCHAIN_RPC=""
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								FLOW_CONTRACT=""
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								BLOCK_NUMBER=0
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								PUBLIC_IP=$(curl -s https://ipinfo.io/ip)
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								FILE=run/config.toml
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								# enable sync
							 | 
						
					
						
							
								
									
										
										
										
											2025-02-11 08:55:18 +00:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								sed -i 's/# \[sync\]/\[sync\]/g' $FILE
							 | 
						
					
						
							
								
									
										
										
										
											2024-07-02 06:14:17 +00:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								# enable auto_sync
							 | 
						
					
						
							
								
									
										
										
										
											2025-02-11 08:55:18 +00:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								sed -i 's/# auto_sync_enabled = false/auto_sync_enabled = true/g' $FILE
							 | 
						
					
						
							
								
									
										
										
										
											2024-07-02 06:14:17 +00:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								# reduce timeout for finding peers
							 | 
						
					
						
							
								
									
										
										
										
											2025-02-11 08:55:18 +00:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								sed -i 's/# find_peer_timeout = .*/find_peer_timeout = "10s"/g' $FILE
							 | 
						
					
						
							
								
									
										
										
										
											2024-07-02 06:14:17 +00:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								# set public ip
							 | 
						
					
						
							
								
									
										
										
										
											2025-02-11 08:55:18 +00:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								sed -i "s/# network_enr_address = .*/network_enr_address = \"$PUBLIC_IP\"/g" $FILE
							 | 
						
					
						
							
								
									
										
										
										
											2024-07-02 06:14:17 +00:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								# set miner key
							 | 
						
					
						
							
								
									
										
										
										
											2025-02-11 08:55:18 +00:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								sed -i "s/miner_key = \"\"/miner_key = \"$MINER_KEY\"/g" $FILE
							 | 
						
					
						
							
								
									
										
										
										
											2024-07-02 06:14:17 +00:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								# set miner contract address
							 | 
						
					
						
							
								
									
										
										
										
											2025-02-11 08:55:18 +00:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								sed -i "s/mine_contract_address = .*/mine_contract_address = \"$MINE_CONTRACT\"/g" $FILE
							 | 
						
					
						
							
								
									
										
										
										
											2024-07-02 06:14:17 +00:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								# set blockchain rpc endpoint
							 | 
						
					
						
							
								
									
										
										
										
											2025-02-11 08:55:18 +00:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								sed -i "s|blockchain_rpc_endpoint = .*|blockchain_rpc_endpoint = \"$BLOCKCHAIN_RPC\"|g" $FILE
							 | 
						
					
						
							
								
									
										
										
										
											2024-07-02 06:14:17 +00:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								# set flow contract address
							 | 
						
					
						
							
								
									
										
										
										
											2025-02-11 08:55:18 +00:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								sed -i "s/log_contract_address = .*/log_contract_address = \"$FLOW_CONTRACT\"/g" $FILE
							 | 
						
					
						
							
								
									
										
										
										
											2024-07-02 06:14:17 +00:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								# set contract deployed block number
							 | 
						
					
						
							
								
									
										
										
										
											2025-02-11 08:55:18 +00:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								sed -i "s/log_sync_start_block_number = .*/log_sync_start_block_number = $BLOCK_NUMBER/g" $FILE
							 | 
						
					
						
							
								
									
										
										
										
											2024-07-02 07:36:34 +00:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								# update the boot node ids
							 | 
						
					
						
							
								
									
										
										
										
											2025-02-11 08:55:18 +00:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								sed -i 's|network_boot_nodes = .*|network_boot_nodes = ["/ip4/54.219.26.22/udp/1234/p2p/16Uiu2HAmTVDGNhkHD98zDnJxQWu3i1FL1aFYeh9wiQTNu4pDCgps","/ip4/52.52.127.117/udp/1234/p2p/16Uiu2HAkzRjxK2gorngB1Xq84qDrT4hSVznYDHj6BkbaE4SGx9oS","/ip4/18.167.69.68/udp/1234/p2p/16Uiu2HAm2k6ua2mGgvZ8rTMV8GhpW71aVzkQWy7D37TTDuLCpgmX"]|g' $FILE
							 |