Aşağıdaki tüm adımları yapmadan önce Cüzdanınızda Sepolia ETH ağında biraz test ETH olması gerekiyor. Oradaki ETH'ları BURADAN Ethernity test ağına geçirmeyi unutmayın. Yoksa işlemleriniz onaylanmaz.
Herhangi bir VPS Ubuntu 22.04 sunucu içerisinde çalıştırabilirsiniz.BURADAN github codespace üzerinden tüm adımları yapabilirsiniz. Size kalmış.
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
mkdir hello && cd hello
npm init -y
Aşağıdakine benzer bir çıktı alırsanız işlem tamamdır.
npm install --save-dev hardhat ts-node typescript @nomicfoundation/hardhat-toolbox ethers@^6.1.0 dotenv
npm install --save-dev @nomicfoundation/hardhat-verify
npx hardhat
Size seçenekler sunacak TypeScript project seçin diğerlerine enter yaparak ilerleyebilirsiniz.
cd contracts
rm Lock.sol
nano Hello.sol
Hello sol adında açtığımız akıllı kontrata aşağıdaki bilgileri değiştirmeden ekliyoruz.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract Hello {
function hi() public pure returns (string memory) {
return "Hey there!";
}
}
cd ..
nano hardhat.config.ts
hardhat config dosyasını aşağıdaki gibi ekliyoruz. Ekledikten sonra CTRL X Y enter yapmayı unutmayın.
import { HardhatUserConfig } from "hardhat/config";
import "@nomicfoundation/hardhat-toolbox";
import "@nomicfoundation/hardhat-verify";
import * as dotenv from "dotenv";
dotenv.config();
const config: HardhatUserConfig = {
etherscan: {
apiKey: {
ernscan: "ernscan", // apiKey is not required, just set a placeholder
},
customChains: [
{
network: "ernscan",
chainId: 233,
urls: {
apiURL: "https://api.routescan.io/v2/network/testnet/evm/233/etherscan",
browserURL: "https://testnet.ernscan.io"
}
}
]
},
networks: {
ernscan: {
url: 'https://testnet.ethernitychain.io',
accounts: [process.env.PRIVATE_KEY!]
},
},
solidity: "0.8.0",
};
export default config;
Metamask cüzdanımızın private key'ini ekleyeceğiz
nano .env
PRIVATE_KEY=a43b28caca8..................
şeklinde private keyimizi ekleyip CTRL X Y enter yapıyoruz.
npx hardhat compile
bu şekilde çıktı alırsanız işlem tamamdır. Şimdi devam edelim.
mkdir scripts
nano scripts/deploy.ts
import { ethers } from "hardhat";
async function main() {
const Hello = await ethers.getContractFactory("Hello");
const hello = await Hello.deploy();
await hello.waitForDeployment();
console.log("Hello deployed to:", await hello.getAddress());
}
main()
.then(() => process.exit(0))
.catch(error => {
console.error(error);
process.exit(1);
});
Hiçbir şeye dokunmadan direkt olarak yapıştırıp. kayıt ediyoruz.
npx hardhat run scripts/deploy.ts --network ernscan
Böyle bir çıktı aldığınızda tebrikler. Ethernity ağında akıllı kontrat yayınladıınız. Sıra geldi verify etmeye.
npx hardhat verify --network ernscan <deployed_contract_address>
Bir önceki komutta aldığınız kontrat adresiniz <> dahil silip oraya yazdığınızda, ağda yayınlamış olduğunuz kontratı verify yapmış olursunuz.
https://testnet.ernscan.io/ adresinden kontrat adresinizi kontrol edebilirsiniz.