— the L2 built for the Shiba Inu Ecosystem, designed for scalability, low fees, and seamless developer experiences through full EVM compatibility. This guide walks you through building, deploying, and testing dApps on Shibarium, using the most popular Ethereum tools.
Overview
By following this guide, you will:
- Connect your wallet and dev tools to Shibarium
- Choose a development stack (Remix or Hardhat)
- Deploy and verify smart contracts
- Test and iterate on Puppynet
- Prepare your dApp for mainnet and ecosystem listing
Shibarium is fully EVM-compatible. If you know Ethereum, you already know how to build on Shibarium!
1. Connect to the Shibarium Network
Add Shibarium RPC to your Ethereum-compatible wallet (e.g., MetaMask).
Mainnet RPC:
https://rpc.shibarium.shib.io
Chain ID: 109
Explorer: https://shibariumscan.io
Puppynet RPC:
https://rpc.puppynet.shib.io
Chain ID: 157
Explorer: https://puppyscan.shib.io
2. Choose a Development Stack
Shibarium supports all major Ethereum dev tools:
- Remix IDE
- Hardhat
- Truffle
- Thirdweb
- Replit
Deploy with Remix
Write a contract
Create a new file in Remix and paste:// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract SimpleStorage {
uint storedData;
function set(uint x) public { storedData = x; }
function get() public view returns (uint) { return storedData; }
}
Compile the contract
Use the Solidity compiler in Remix.
Connect your wallet
Select Injected Web3 and connect MetaMask (set to Shibarium network).
Deploy
Deploy the contract and interact with it via the Remix UI.
Deploy and Verify with Hardhat
Install Hardhat and dependencies
npm install -g hardhat
mkdir shibarium-smart-contract
cd shibarium-smart-contract
npx hardhat
npm install --save-dev @nomiclabs/hardhat-ethers ethers dotenv
Write your contract
Create contracts/SimpleStorage.sol:// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract SimpleStorage {
uint256 private storedData;
function set(uint256 x) public { storedData = x; }
function get() public view returns (uint256) { return storedData; }
}
Configure Hardhat
Edit hardhat.config.js:require("@nomiclabs/hardhat-ethers");
require("@nomiclabs/hardhat-etherscan");
require("dotenv").config();
module.exports = {
solidity: "0.8.0",
networks: {
shibarium: {
url: "https://rpc.shibarium.shib.io",
accounts: [process.env.PRIVATE_KEY]
}
},
etherscan: {
apiKey: {
shibarium: "shib"
},
customChains: [
{
network: "shibarium",
chainId: 109,
urls: {
apiURL: "https://shibariumscan.io/api/",
browserURL: "https://shibariumscan.io/"
}
}
]
}
};
Deploy the contract
Create scripts/deploy.js:async function main() {
const [deployer] = await ethers.getSigners();
console.log("Deploying contract with:", deployer.address);
const SimpleStorage = await ethers.getContractFactory("SimpleStorage");
const simpleStorage = await SimpleStorage.deploy();
console.log("Deployed to:", simpleStorage.address);
}
main().catch((error) => {
console.error(error);
process.exit(1);
});
Deploy with:npx hardhat run scripts/deploy.js --network shibarium
Verify the contract
npx hardhat verify --network shibarium <DEPLOYED_CONTRACT_ADDRESS>
3. Test and Iterate
- Use Puppynet to test your contract before mainnet deployment.
- Collect logs and test coverage using Hardhat.
- Integrate with frontend frameworks (Next.js, Vite) using Ethers.js or Web3.js for a full-stack dApp.
4. Go Further
- Add your token metadata to Shibarium’s official token registry.
- List your dApp on the Shibarium dApp Store.
- Contribute to the ecosystem by open-sourcing your work on GitHub.