# Developer Quickstart

With Blast Chain, your favorite tools for building and testing smart contracts just work.

Since Blast is bytecode equivalent with the EVM, you’ll just need to point your favorite builder tools at a Blast RPC Provider.

If you run into any issues, please send it to us via email <blast@blastchain.org>.

### Acquiring OWCT  <a href="#acquiring-ether" id="acquiring-ether"></a>

Blast Chain uses OWCT as its native currency, which is required to pay transaction fees for deploying and interacting with the network.

To start building on Blast Chain, you can directly engage with the Blast Chain Mainnet, as there is no separate testnet environment. Ensure you have OWCT available in your wallet to cover transaction costs. You can obtain OWCT through various exchanges or from peer-to-peer transactions.

For a step-by-step guide on how to configure your environment and begin transactions, refer to the User Guide’s [Setup](https://docs.blastchain.org/getting-started/user-guide/setup) page.

Once you’re ready to deploy on the Blast Chain Mainnet, all operations can be conducted directly within this environment. There is no need to bridge assets from another chain, simplifying the process and enhancing user convenience.

### Network Configuration

<table data-full-width="false"><thead><tr><th width="240">Network Name</th><th width="244">Blast Chain</th><th valign="middle">One World Chain</th></tr></thead><tbody><tr><td>RPC URL</td><td><a href="https://zkevmrpc.blastchain.org">https://zkevmrpc.blastchain.org</a></td><td valign="middle"><a href="https://mainnet-rpc.oneworldchain.org
">https://mainnet-rpc.oneworldchain.org</a></td></tr><tr><td>Chain ID</td><td>238</td><td valign="middle">309075</td></tr><tr><td>Currency Symbol</td><td>OWCT</td><td valign="middle">OWCT</td></tr><tr><td>Block Explorer URL</td><td><a href="https://blastchain.org">https://blastchain.org</a></td><td valign="middle"><a href="https://mainnet.oneworldchain.org/">https://mainnet.oneworldchain.org/</a></td></tr></tbody></table>

### Configure your tooling <a href="#configure-your-tooling" id="configure-your-tooling"></a>

{% hint style="info" %}
For setting up tooling to verify a smart contract deployment, see [Verifying Smart Contracts](/verifying-smart-contracts.md).
{% endhint %}

### Hardhat <a href="#hardhat" id="hardhat"></a>

Modify your Hardhat config file `hardhat.config.ts` to point at the Blast Chain public RPC.

```javascript

...

const config: HardhatUserConfig = {
  ...
  networks: {
    blastChain: {
      url: "https://zkevmrpc.blastchain.org/" || "",
      accounts:
        process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
    },
  },
};

...

```

### Remix Web IDE <a href="#remix-web-ide" id="remix-web-ide"></a>

After compiling your contracts, the easiest way to deploy using Remix is by [setting up Metamask](/getting-started/user-guide/setup.md), then selecting the **Blast Mainnet** network.

<figure><img src="/files/y70rz0z0LLF36xUEAJmX" alt=""><figcaption></figcaption></figure>

Now, in the “Deploy and Run Transactions” tab, use the “Environment” drop-down and select “Injected Provider - MetaMask.”<br>

<figure><img src="/files/sJnm1fvGgSTJiwZCt1fp" alt=""><figcaption></figcaption></figure>

Connect your wallet and select the **Blast Mainnet**. Your account should be selected automatically in Remix, and you can click “Deploy.”

### Truffle

Assuming you already have a Truffle environment setup, go to the Truffle [configuration file](https://trufflesuite.com/docs/truffle/reference/configuration/), `truffle.js`. Make sure to have installed HDWalletProvider: `npm install @truffle/hdwallet-provider@1.4.0`

```javascript
const HDWalletProvider = require("@truffle/hdwallet-provider")
...
module.exports = {
  networks: {
    blastChain: {
      provider: () =>
        new HDWalletProvider(process.env.PRIVATE_KEY, "https://zkevmrpc.blastchain.org/"),
      network_id: '*',
    },
  }
}
```

### ethers.js <a href="#ethersjs" id="ethersjs"></a>

Setting up a Blast Chain provider in an `ethers` script:

```javascript
import { ethers } from "ethers"

const provider = new ethers.providers.JsonRpcProvider("https://zkevmrpc.blastchain.org/")
```

### **Configure Hardhat**

In the `packages/hardhat/hardhat.config.js` file, you’ll add the network and select it as the default network.

```javascript
...
//
// Select the network you want to deploy to here:
//
const defaultNetwork = "blastChain";
...
module.exports = {
...
  networks: {
...
          blastChain: {
            url: "https://zkevmrpc.blastchain.org/",
            accounts: {
              mnemonic: mnemonic(),
            },
          },
  }
...
}
```

Be sure to fund the deployment wallet as well! Run `yarn generate` to create the wallet and `yarn account` to check its funds. Once funded, run `yarn deploy --network` blastChain to deploy on the Blast Chain.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.blastchain.org/developers/developer-quickstart.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
