kopia lustrzana https://github.com/bugout-dev/moonstream
				
				
				
			Prepared to work with load balancer
							rodzic
							
								
									6a02719225
								
							
						
					
					
						commit
						d46d028842
					
				|  | @ -12,10 +12,8 @@ export MOONSTREAM_MOONWORM_TASKS_JOURNAL="<Bugout journal with tasks for moonwor | |||
| export MOONSTREAM_DATA_JOURNAL_ID="<bugout_journal_id_to_store_blockchain_data>" | ||||
| export HUMBUG_TXPOOL_CLIENT_ID="<Bugout_Humbug_client_id_for_txpool_transactions_in_journal>" | ||||
| export MOONSTREAM_ETHEREUM_WEB3_PROVIDER_URI="https://<connection_path_uri_to_ethereum_node>" | ||||
| export MOONSTREAM_NODE_ETHEREUM_IPC_PORT=8545 | ||||
| 
 | ||||
| # Set following parameters if AWS node instance and S3 smartcontracts configured | ||||
| export MOONSTREAM_INTERNAL_HOSTED_ZONE_ID="<moonstream_internal_hosted_zone_id>" | ||||
| export MOONSTREAM_S3_SMARTCONTRACTS_BUCKET="<AWS_S3_bucket_to_store_smart_contracts>" | ||||
| export MOONSTREAM_S3_SMARTCONTRACTS_ABI_BUCKET="<AWS_S3_bucket_to_store_smart_contracts_ABI>" | ||||
| export MOONSTREAM_S3_SMARTCONTRACTS_ABI_PREFIX="<Previx_for_AWS_S3_bucket_(prod,dev,..)>" | ||||
|  |  | |||
|  | @ -48,25 +48,6 @@ ETHERSCAN_SMARTCONTRACTS_BUCKET = os.environ.get("MOONSTREAM_S3_SMARTCONTRACTS_B | |||
| if ETHERSCAN_SMARTCONTRACTS_BUCKET is None: | ||||
|     raise ValueError("MOONSTREAM_S3_SMARTCONTRACTS_BUCKET is not set") | ||||
| 
 | ||||
| MOONSTREAM_INTERNAL_HOSTED_ZONE_ID = os.environ.get( | ||||
|     "MOONSTREAM_INTERNAL_HOSTED_ZONE_ID", "" | ||||
| ) | ||||
| if MOONSTREAM_INTERNAL_HOSTED_ZONE_ID == "": | ||||
|     raise ValueError( | ||||
|         "MOONSTREAM_INTERNAL_HOSTED_ZONE_ID environment variable must be set" | ||||
|     ) | ||||
| 
 | ||||
| MOONSTREAM_ETHEREUM_WEB3_PROVIDER_URI = os.environ.get( | ||||
|     "MOONSTREAM_ETHEREUM_WEB3_PROVIDER_URI", "" | ||||
| ) | ||||
| if MOONSTREAM_ETHEREUM_WEB3_PROVIDER_URI == "": | ||||
|     raise ValueError( | ||||
|         "MOONSTREAM_ETHEREUM_WEB3_PROVIDER_URI environment variable must be set" | ||||
|     ) | ||||
| MOONSTREAM_NODE_ETHEREUM_IPC_PORT = os.environ.get( | ||||
|     "MOONSTREAM_NODE_ETHEREUM_IPC_PORT", 8545 | ||||
| ) | ||||
| 
 | ||||
| MOONSTREAM_S3_SMARTCONTRACTS_ABI_BUCKET = os.environ.get( | ||||
|     "MOONSTREAM_S3_SMARTCONTRACTS_ABI_BUCKET" | ||||
| ) | ||||
|  | @ -92,3 +73,12 @@ if MOONSTREAM_MOONWORM_TASKS_JOURNAL == "": | |||
|     raise ValueError( | ||||
|         "MOONSTREAM_MOONWORM_TASKS_JOURNAL environment variable must be set" | ||||
|     ) | ||||
| 
 | ||||
| # Web3 | ||||
| MOONSTREAM_ETHEREUM_WEB3_PROVIDER_URI = os.environ.get( | ||||
|     "MOONSTREAM_ETHEREUM_WEB3_PROVIDER_URI", "" | ||||
| ) | ||||
| if MOONSTREAM_ETHEREUM_WEB3_PROVIDER_URI == "": | ||||
|     raise ValueError( | ||||
|         "MOONSTREAM_ETHEREUM_WEB3_PROVIDER_URI environment variable must be set" | ||||
|     ) | ||||
|  |  | |||
|  | @ -1,46 +1,13 @@ | |||
| import logging | ||||
| 
 | ||||
| import boto3  # type: ignore | ||||
| from web3 import Web3 | ||||
| 
 | ||||
| from .settings import ( | ||||
|     MOONSTREAM_ETHEREUM_WEB3_PROVIDER_URI, | ||||
|     MOONSTREAM_INTERNAL_HOSTED_ZONE_ID, | ||||
|     MOONSTREAM_NODE_ETHEREUM_IPC_PORT, | ||||
| ) | ||||
| from .settings import MOONSTREAM_ETHEREUM_WEB3_PROVIDER_URI | ||||
| 
 | ||||
| logger = logging.getLogger(__name__) | ||||
| 
 | ||||
| 
 | ||||
| def fetch_web3_provider_ip(): | ||||
|     r53 = boto3.client("route53") | ||||
|     r53_response = r53.list_resource_record_sets( | ||||
|         HostedZoneId=MOONSTREAM_INTERNAL_HOSTED_ZONE_ID, | ||||
|         StartRecordName=f"{MOONSTREAM_ETHEREUM_WEB3_PROVIDER_URI}.", | ||||
|         StartRecordType="A", | ||||
|     ) | ||||
|     try: | ||||
|         r53_records = r53_response["ResourceRecordSets"] | ||||
|         if r53_records[0]["Name"] != f"{MOONSTREAM_ETHEREUM_WEB3_PROVIDER_URI}.": | ||||
|             return None | ||||
| 
 | ||||
|         record_value = r53_records[0]["ResourceRecords"][0]["Value"] | ||||
|     except Exception as e: | ||||
|         logger.error(e) | ||||
|         return None | ||||
| 
 | ||||
|     return record_value | ||||
| 
 | ||||
| 
 | ||||
| if not MOONSTREAM_ETHEREUM_WEB3_PROVIDER_URI.startswith("http"): | ||||
|     web3_provider_ip = fetch_web3_provider_ip() | ||||
|     if web3_provider_ip is None: | ||||
|         raise ValueError("Unable to extract web3 provider IP") | ||||
| else: | ||||
|     web3_provider_ip = MOONSTREAM_ETHEREUM_WEB3_PROVIDER_URI | ||||
| 
 | ||||
| moonstream_web3_provider = Web3( | ||||
|     Web3.HTTPProvider(f"http://{web3_provider_ip}:{MOONSTREAM_NODE_ETHEREUM_IPC_PORT}") | ||||
|     Web3.HTTPProvider(MOONSTREAM_ETHEREUM_WEB3_PROVIDER_URI) | ||||
| ) | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
		Ładowanie…
	
		Reference in New Issue
	
	 kompotkot
						kompotkot