Ir al contenido principal
Time to read: 1 min
Para el índice completo de documentación, consulte llms.txt

Deploy Your First Contract

In this module, you will write, compile, deploy, and interact with your first smart contract on the Rootstock Testnet.

Starter Kits

Get started with ready-made templates and starter guides for easy development and deployment on Rootstock. View our quick starts.

Step 1 - Write the Contract

Create: contracts/HelloRootstock.sol

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

contract HelloRootstock {
string public message;

constructor(string memory _message) {
message = _message;
}

function updateMessage(string memory _newMessage) public {
message = _newMessage;
}
}

Step 2 — Configure Hardhat

Edit: hardhat.config.js

require("@nomicfoundation/hardhat-toolbox");

module.exports = {
solidity: "0.8.20",
networks: {
rootstock_testnet: {
url: "https://public-node.testnet.rsk.co",
chainId: 31,
accounts: [process.env.PRIVATE_KEY]
}
}
};

Add your private key to .env:

PRIVATE_KEY=your_private_key_here

Step 3 — Create Deployment Script

Create: scripts/deploy.js

async function main() {
const Contract = await ethers.getContractFactory("HelloRootstock");
const contract = await Contract.deploy("Hello from Rootstock!");

await contract.waitForDeployment();
console.log("Contract deployed at:", await contract.getAddress());
}

main().catch((error) => {
console.error(error);
process.exitCode = 1;
});

Step 4 — Compile and Deploy

Compile:

npx hardhat compile

Deploy:

npx hardhat run scripts/deploy.js --network rootstock_testnet

Expected output:

Compiled successfully
Contract deployed at: 0x1234...abcd

Check contract on the Rootstock Testnet Explorer.

Step 5 — Interact With the Contract

Use Hardhat console:

npx hardhat console --network rootstock_testnet

In console:

const c = await ethers.getContractAt(
"HelloRootstock",
"0xYourContractAddress"
);

await c.message(); // read
await c.updateMessage("Updated!"); // write

Summary

You now know how to:

  • Write a smart contract
  • Configure Hardhat for Rootstock
  • Deploy to Testnet
  • Interact via terminal

Next: Build Your First dApp

Última actualización en por Owanate Amachree