diff --git a/reference-rpc-endpoint.json b/reference-rpc-endpoint.json index eaf4be48..169068cf 100644 --- a/reference-rpc-endpoint.json +++ b/reference-rpc-endpoint.json @@ -1,4 +1,8 @@ { - "8453": ["https://base.drpc.org"], - "1": ["https://eth.drpc.org"] + "base": { + "id": 8453, + "urls": ["https://base.drpc.org"]} + "eth": { + "id": 1, + "urls": ["https://eth.drpc.org"]} } diff --git a/reference-rpc-endpoint.sh b/reference-rpc-endpoint.sh index 6be2633a..f18288e8 100755 --- a/reference-rpc-endpoint.sh +++ b/reference-rpc-endpoint.sh @@ -1,16 +1,14 @@ #!/bin/bash # Check if the script is provided with the correct number of arguments -if [ $# -lt 1 ] || [ $# -gt 2 ]; then - echo "Usage: $0 []" +if [ $# -ne 2 ]; then + echo "Usage: $0 " exit 1 fi -# Key provided as the first argument -key="$1" - -# Set index to 0 if not provided as the second argument -index="${2:-0}" +# ID and index provided as arguments +id="$1" +index="$2" # Check if the JSON file exists json_file="reference-rpc-endpoint.json" @@ -19,14 +17,27 @@ if [ ! -f "$json_file" ]; then exit 1 fi -# Use jq to extract the element of the array corresponding to the key and index -element=$(jq -r ".$key[$index]" "$json_file") +# Use jq to find the object with the provided id +object=$(jq --arg id "$id" '.[] | select(.id == ($id | tonumber))' "$json_file") -# Check if the key exists in the JSON file -if [ "$element" = "null" ]; then - echo "Error: Key '$key' not found in the JSON file or index '$index' out of range." +# Check if the object exists +if [ -z "$object" ]; then + echo "Error: Object with ID '$id' not found." exit 1 fi -# Print the element -echo "$element" +# Extract the URLs array from the object +urls=$(echo "$object" | jq -r '.urls') + +# Check if the index is out of range +num_urls=$(echo "$urls" | jq -r 'length') +if [ "$index" -ge "$num_urls" ]; then + echo "Error: Index '$index' is out of range for ID '$id'." + exit 1 +fi + +# Extract the URL at the specified index +url=$(echo "$urls" | jq -r ".[$index]") + +# Print the URL +echo "URL at index '$index' for ID '$id': $url"