> For the complete documentation index, see [llms.txt](https://docs-presto.gateway.fm/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs-presto.gateway.fm/overview/features-for-developers/how-to-use-presto-with-viem.sh.md).

# How To Use Presto with viem.sh

To use Presto with [viem.sh](http://viem.sh/) library using a custom RPC endpoint, follow these steps:

1. Install the [viem.sh](http://viem.sh/) library by running `npm install viem.sh` in your project directory.
2. Create your rollup ([How to Create a Rollup](/overview/main-functionality/how-to-create-a-rollup.md)), open it, and get the RPC URL ([What Is RPC](/overview/features-for-developers/what-is-rpc.md)).<br>

   <figure><img src="/files/cqybA1LuVZsN77ykORt7" alt=""><figcaption></figcaption></figure>
3. Set up a provider to connect to your Presto L2 network using your custom RPC endpoint.
4. Make sure to replace `YOUR_CUSTOM_RPC_ENDPOINT` with the URL of your custom RPC endpoint.

```jsx
const { viem } = require('viem.sh');

const provider = new viem.providers.JsonRpcProvider('YOUR_CUSTOM_RPC_ENDPOINT');

async function getBlockByNumber(blockNumber) {
  try {
    const block = await provider.getBlock(blockNumber);
    console.log(block);
  } catch (error) {
    console.log(error);
  }
}

getBlockByNumber(12345);
```
