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ış.
Gereksinimleri Yükleyelim..
Copy curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
Hello adında dosya açalım
Copy mkdir hello && cd hello
Aşağıdakine benzer bir çıktı alırsanız işlem tamamdır.
Hardhat için gereksinimleri yükleyelim.
Copy npm install --save-dev hardhat ts-node typescript @nomicfoundation/hardhat-toolbox ethers@^6.1.0 dotenv
npm install --save-dev @nomicfoundation/hardhat-verify
Size seçenekler sunacak TypeScript project seçin diğerlerine enter yaparak ilerleyebilirsiniz.
Copy 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.
Copy // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract Hello {
function hi() public pure returns (string memory) {
return "Hey there!";
}
}
Copy cd ..
nano hardhat.config.ts
hardhat config dosyasını aşağıdaki gibi ekliyoruz. Ekledikten sonra CTRL X Y enter yapmayı unutmayın.
Copy 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
Copy PRIVATE_KEY=a43b28caca8..................
şeklinde private keyimizi ekleyip CTRL X Y enter yapıyoruz.
bu şekilde çıktı alırsanız işlem tamamdır. Şimdi devam edelim.
Copy mkdir scripts
nano scripts/deploy.ts
Copy 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.
Copy 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.
Copy 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.