Optimism quickstart
This quickstart guide will help you set up and make calls on the Optimism network using the Infura endpoints.
Prerequisites
- Ensure you have an API key with the Optimism network enabled.
Make calls
curl
Run the following command in your terminal, replacing <YOUR-API-KEY> with your actual Infura API key:
curl https://optimism-mainnet.infura.io/v3/<YOUR-API-KEY> \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "method": "eth_blockNumber", "params": [], "id": 1}'
Node (JavaScript)
In these examples, you'll use npm as your package manager.
Node Fetch
-
In your project folder, install the
node-fetchpackage using npm:npm i node-fetch -
Create your JavaScript file and copy the following code:
Replace
<YOUR-API-KEY>with your actual Infura API key.index.jsimport fetch from 'node-fetch'fetch('https://optimism-mainnet.infura.io/v3/<YOUR-API-KEY>', {method: 'POST',headers: {'Content-Type': 'application/json',},body: JSON.stringify({jsonrpc: '2.0',method: 'eth_blockNumber',params: [],id: 1,}),}).then(response => response.json()).then(data => {console.log(data)}).catch(error => {console.error(error)}) -
Run the code using the following command:
node index.js
Axios
-
In your project folder, install the
axiospackage using npm:npm i axios -
Create your JavaScript file and copy the following code:
Replace
<YOUR-API-KEY>with your actual Infura API key.index.jsconst axios = require('axios')axios.post('https://optimism-mainnet.infura.io/v3/<YOUR-API-KEY>', {jsonrpc: '2.0',method: 'eth_blockNumber',params: [],id: 1,}).then(response => {console.log(response.data)}).catch(error => {console.error(error)}) -
Run the code using the following command:
node index.js
Ethers
-
In your project folder, install the
etherspackage using npm:npm install ethers -
Create your JavaScript file and copy the following code:
Replace
<YOUR-API-KEY>with your actual Infura API key.index.jsconst ethers = require('ethers')const provider = new ethers.providers.JsonRpcProvider('https://optimism-mainnet.infura.io/v3/<YOUR-API-KEY>')provider.getBlockNumber().then(blockNumber => {console.log(blockNumber)}).catch(error => {console.error(error)}) -
Run the code using the following command:
node index.js
Python
-
In your project folder, install the
requestslibrary:pip install requests -
Create your Python file and copy the following code:
Replace
<YOUR-API-KEY>with your actual Infura API key.index.pyimport requestsimport jsonurl = "https://optimism-mainnet.infura.io/v3/<YOUR-API-KEY>"payload = {"jsonrpc": "2.0","method": "eth_blockNumber","params": [],"id": 1}headers = {"content-type": "application/json"}response = requests.post(url, data=json.dumps(payload), headers=headers).json()print(response) -
Run the code using the following command:
python index.py
Next steps
Now that you have successfully made a call to the Optimism network, you can explore more functionalities and APIs provided by Infura. Here are some suggestions:
-
Explore other Optimism APIs: Infura supports a wide range of APIs. You can find more information in the JSON-RPC API method documentation.
-
Try out different networks: Infura supports multiple networks including Ethereum, Linea, Polygon, and more.
-
Monitor your usage: Monitor your usage on the Infura dashboard to ensure you're not hitting your rate limits.
If you have questions or run into issues, contact Infura.