Deploy a Smart Contract on Arbitrum
![Deploy a Smart Contract on Arbitrum - thirdweb Guides](/content/images/size/w2000/2023/03/Deploy-a-smart-contract-on-Arbitrum-2.png)
This guide will show you how to deploy any smart contract to the Arbitrum network.
By the end, you'll learn how to create a simple Edition Drop on smart contract, deploy it to the Arbitrum Goerli testnet, and mint an NFT on the smart contract.
Let's get started!
What is Arbitrum?
Arbitrum is a Layer 2 chain, built on top of Ethereum which utilizes "arbitrum rollups", which performs the majority of computations off-chain, batches them together, and write the results to the Layer 1 blockchain (Ethereum).
For developers and users, this means lower gas fees and faster transaction confirmation times, since the blockchain only performs "proof of confirmation" if a validator node is suspicious a transaction might be fraudulent.
This means that when you interact with a smart contract on Arbitrum, your transactions require lower gas fees and are confirmed within seconds, providing a better user experience.
Create a smart contract on Arbitrum
To begin, head to the Contracts page in your thirdweb Dashboard and hit "Deploy new contract":
![deploy new contract](https://blog.thirdweb.com/content/images/2023/03/SCR-20230304-uu3-1-.png)
You will be taken to our Explore page — where you can browse smart contracts built by the top protocols in web3 and deploy them in just a few clicks!
Note: You can also use the thirdweb CLI to set up a smart contract environment by running the below command from your terminal:
npx thirdweb create contract
This will take you through an easy-to-follow flow of steps for you to create your contract. Learn more about this in our CLI guide.
Otherwise, let's get back to Explore:
![thirdweb explore page](https://blog.thirdweb.com/content/images/2023/03/thirdweb-explore-page.png)
Here, select your smart contract of choice. For this guide, we're going to use the Edition Drop (ERC1155) contract to create our NFT collection:
![thirdweb's NFT Drop Contract](https://blog.thirdweb.com/content/images/2023/03/thirdweb-s-Edition-Drop-contract.png)
Set up your smart contract with an image, name, description, etc., and configure which wallet address will receive the funds from primary and secondary sales:
![Populate metadata of your contract](https://blog.thirdweb.com/content/images/2023/03/populate-metadata-edition-drop-2.png)
In the network/chain section select Abitrum One or Arbitrum Goerli (testnet) as you wish. For the sake of this guide, I am going to use Arbitrum Goerli
![Select Arbitrum Goerli network](https://blog.thirdweb.com/content/images/2023/03/select-arbitrum-goerli-2.png)
Once you have selected the network, click on deploy now. It will prompt you to switch your network to Arbitrum Goerli.
![Switch Wallet to Arbitrum Goerli Testnet](https://blog.thirdweb.com/content/images/2023/03/SCR-20230309-x32.png)
Click on the switch Wallet button and if you don't already have the network in your wallet it will prompt you to add the network and then switch to the network:
![Add and switch to Arbitrum Goerli on your wallet](https://blog.thirdweb.com/content/images/2023/03/add-arbitrum-goerli-to-wallet-2.png)
Now let's deploy the smart contract on the Arbitrum Goerli testnet! But before that, we need testnet funds.
Get Arbitrum Goerli testnet funds in your wallet
To get testnet funds and use the Arbitrum Goerli network, we need to bridge funds from Goerli to Arbitrum Goerli.
Head over to the Arbitrum Bridge and connect your wallet of choice.
![Select your wallet](https://blog.thirdweb.com/content/images/2023/03/select-wallet-arbitrum-bridge.png)
Now, select the quantity and switch your wallet to goerli:
![Add in amount to deposit and switch wallet to goerli](https://blog.thirdweb.com/content/images/2023/03/SCR-20230309-x70.png)
Finally, click on Move funds to Arbitrum Goerli. It will open up a transaction confirmation on metamask. Click on approve
![Click on deposit](https://blog.thirdweb.com/content/images/2023/03/SCR-20230309-x7o.png)
You will need to wait for a while for the bridge to happen:
![Bridging funds from Goerli to Arbitrum Goerli](https://blog.thirdweb.com/content/images/2023/03/bridging-funds-from-goerli-to-arbitrum-goerli-1.png)
Once the transaction completes you will see the funds in your wallet:
![Funds on Arbitrum Goerli network](https://blog.thirdweb.com/content/images/2023/03/funds-have-arrived-in-wallet-2.png)
Once you have completed this process, you will have testnet funds in your wallet on the Arbitrum Goerli testnet, meaning you're now ready to deploy your smart contract!
Deploying the contract on Arbitrum
Now that you have your testnet funds, let's go back to the thirdweb Dashboard where we were building our Edition Drop contract.
We have already filled out the metadata so click on "Deploy Now" after selecting the chain. It will prompt a transaction, you have to approve that.
![Approve the contract to deploy your contract](https://blog.thirdweb.com/content/images/2023/03/SCR-20230310-f3-2.png)
And you're done! You have just deployed to the Arbitrum Goerli testnet.
Calling Smart Contract Functions
Let's see how we can use the smart contract by calling some functions on it, such as minting an NFT into our collection!
From the Explorer
tab, you can view all of the available functions on your smart contract and execute them directly from your connected wallet:
![Calling the Read name function from Explorer](https://blog.thirdweb.com/content/images/2023/03/call-functions-smart-contract-edition-drop.png)
Setting Up Our NFT Collection
In our example, we created an Edition drop smart contract, so we'll quickly set it up and mint our first NFT by performing the following steps:
- Lazy mint some NFTs.
- Configuring our claim conditions.
- Mint an NFT from the drop!
Once we've set up our NFTs, we can click the Claim
button in the NFTs
tab to mint our first NFT, and voilà ! We just minted an NFT on the Arbitrum Goerli testnet!
![Claimed NFT](https://blog.thirdweb.com/content/images/2023/03/image-94.png)
What's Next?
Now that you've deployed your smart contract, you can use our SDK to build a web3 application! Where users can connect their wallets and interact with the functions of your smart contracts. Learn more from our guide below:
Wrapping up
In this guide, you've learned how to create a simple Edition Drop smart contract, deploy it to the Arbitrum Goerli testnet, and mint an NFT on the smart contract. We hope it was helpful!
If you have any questions jump into the thirdweb Discord and join 32,000+ other builders! And if you're looking to build on Arbitrum and want to learn more about how to do that with thirdweb's tools, reach out to the team directly. Please let us know if you have any feature requests or guide requests here.