# Using Laika with Web3 Node Providers

### Overview

This guide will demonstrate how to interact with smart contracts in Laika using QuickNode. This process can be reproduced to work with any other Provider of your choice as well!

**Prerequisites**

* An Ethereum Node
* Basic understanding of Smart Contracts and Node control

### &#x20;Getting Started with the Node Provider

#### Step 1 - Launching the Node Provider

For the purpose of this tutorial, we've used Quicknode as our node provider. Simply register for a node on Quicknode, select your preferred subscription plan and then boot up your preferred node through the Dashboard (here, we'll be using a node on the Kovan Testnet). Follow the specific instructions from other platforms if you are not using Quicknode.

We will need the HTTP Provider URL for this tutorial, so keep this URL handy. It should look something like this:

<figure><img src="https://4276181174-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBAYSQIWd7IsbIjaYskIf%2Fuploads%2Fb6l9AneWBZyF4W7pwcRv%2Fimage.png?alt=media&#x26;token=a7df7f0a-9eb5-46a0-9750-cb22ddf738a8" alt=""><figcaption></figcaption></figure>

#### Step 2 - Setting up Your Laika Workspace

Now that we have our blockchain infrastructure ready to go, we can move on to querying blockchain data using [Laika](https://getlaika.app/).

First, we will have to configure Laika with our QuickNode endpoint and mnemonic phrase. If you don't have a mnemonic handy, don't worry, Laika automatically generates a test wallet for you to use. Click the **Connect** button in the top right corner and then click **Web3 Provider**.

<figure><img src="https://4276181174-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBAYSQIWd7IsbIjaYskIf%2Fuploads%2FX8e37tNe4zKB9mYQPnH1%2Fimage.png?alt=media&#x26;token=97bec764-7ebb-402d-9b60-df96f5025790" alt=""><figcaption></figcaption></figure>

Input your QuickNode URL and click **Connect**:

<figure><img src="https://4276181174-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBAYSQIWd7IsbIjaYskIf%2Fuploads%2Fv76BBHM4yWzJE3BZyHQO%2Fimage.png?alt=media&#x26;token=66032780-d8d8-4292-b3b1-31251a4693ea" alt=""><figcaption></figcaption></figure>

Once our wallet and node are connected, click the **New** button in the top left corner of the page.

Then, depending on how you want to import your contract, you can click "Upload JSON ABI", or "Plain text ABI" to import a smart contract via ABI. Alternatively, if the smart contract is already verified on Etherscan, you can use the "Chain Explorer" option to input a smart contract address and Laika will automatically fetch the ABI for you.

<figure><img src="https://4276181174-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBAYSQIWd7IsbIjaYskIf%2Fuploads%2FF3yy7MsUSdp0DpaldtHA%2Fimage.png?alt=media&#x26;token=f95c106e-c03a-4799-92e4-a2310bec7ba4" alt=""><figcaption></figcaption></figure>

For this guide, we will use the "Chain Explorer" option and the following smart contract address: **0x313d7d082bf8A76a16277955b61c1dFaC5Aff8AD** (WETH Address). Make sure to select "Ethereum Sepolia" from the "Chain" dropdown. Then, click "import", and you should see the smart /contract loaded on the collections panel under "New Imported ABIs from..".

<figure><img src="https://4276181174-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBAYSQIWd7IsbIjaYskIf%2Fuploads%2Fsi0aIjpoESnAxzsDYYkF%2Fimage.png?alt=media&#x26;token=397b0f02-b3cd-4457-a1eb-270841e074d8" alt=""><figcaption></figcaption></figure>

You can read more about Importing Requests at [create-a-new-request](https://docs.getlaika.app/docs/fundamentals/create-a-new-request "mention")

#### Step 3 - Making Requests with Laika

We have our smart contract loaded. Now all that's left to do is start interacting with the blockchain!

<figure><img src="https://4276181174-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBAYSQIWd7IsbIjaYskIf%2Fuploads%2F1xeESzqVLgJLBWrdyRx6%2Fimage.png?alt=media&#x26;token=126c04d4-824e-42f7-9f1e-201cdc5c2ff4" alt=""><figcaption></figcaption></figure>

Click the **balanceOf** function to see more details about the function such as the parameters required, response expected and etc. We see that this function has one required parameter which expects an address. Use the following address in the *Value1* field: **0x5C314eCB105F3e7A78BD19EE86823e44fd81D3DF**, then click **Send**.<br>

<figure><img src="https://4276181174-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBAYSQIWd7IsbIjaYskIf%2Fuploads%2FfZDCAtCzCFRH5nBCAwEG%2Fimage.png?alt=media&#x26;token=71e27641-c570-4b9d-9d52-b9a241e71fda" alt=""><figcaption></figcaption></figure>

You'll get the following response:

```
[
  {
    "name":""
    "type":"uint256"
    "value":"10000000000000000000000000000000000"
  }
]
```

There you have it! We just made a request using Laika and a Web3 Node Provider (QuickNode)!&#x20;
