Yeni Başlayanlar için Ethereum Token Geliştirme

Bu blog, web3 geliştirme alanında yeni başlayanlar için OpenZeppelin, Hardhat, Infura ve MetaMask kullanarak Ethereum blok zincirinde bir ERC-20 token geliştirip dağıtmayı, Linea testnet'e dağıtım dahil, adım adım açıklar.

4 dk okuma
Yeni Başlayanlar için Ethereum Token Geliştirme

Web3 geliştirme konusunda yeni başlayan biri olarak, kendi tokenınızı geliştirip dağıtmak; zincir üstü yazılım geliştirmeye başlamanın, Solidity becerilerinizi geliştirmenin ve web3 geliştirme yaşam döngüsünü anlamanın en popüler yollarından biridir.

Ethereum'da çeşitli token standartları bulunmaktadır. Bu standartlar, tokenların Ethereum ağı ve diğer dapp'lerle uyumluluk, mevzuata uygunluk ve birlikte çalışabilirlik sağlamak amacıyla uymak zorunda olduğu önceden tanımlanmış kural kümeleridir.

Bu standartlar arasında fungible tokenlar için ERC-20, non-fungible tokenlar (NFT'ler) için ERC-721, çoklu token türleri için ERC-1155, gelişmiş token işlevleri için ERC-777, güvenlik tokenları için ERC-1400 ve tokenize kasalar için ERC-4626 yer almaktadır.

Bu blog yazısında, standart akıllı sözleşme şablonlarının güvenli ve test edilmiş uygulamalarını sunan bir kütüphane olan OpenZeppelin'den yararlanarak bir ERC-20 token geliştireceğiz. Geliştirme ortamınızı kurma, token sözleşmesini yazma ve Linea katman 2 ağında dağıtma adımlarını birlikte inceleyeceğiz.

Adım 1: Hardhat ile geliştirme ortamınızı kurun

Ethereum tokenınızı geliştirmeye başlamadan önce geliştirme ortamınızı kurmanız gerekecek. Bu blog yazısında Hardhat kullanacağız. Aşağıdaki adımları izleyin:

  1. Node.js ve npm'i yükleyin: Node.js bir JavaScript çalışma ortamı, npm ise onun paket yöneticisidir. Resmi Node.js web sitesinden indirip yükleyin.

  2. Yeni bir Hardhat projesi oluşturun: Terminalinizi açın, projeniz için yeni bir dizin oluşturun ve bu dizine gidin. Ardından şu komutu çalıştırın:


mkdir my-token

cd my-token

npm init -y

npm install --save-dev hardhat

npx hardhat
Kopyala
  1. Gerekli Hardhat eklentilerini ve OpenZeppelin sözleşmelerini yükleyin:


npm install @nomiclabs/hardhat-ethers ethers @openzeppelin/contracts
Kopyala

Adım 2: Ethereum tokenınızı oluşturun

Basit bir ERC-20 token oluşturmak için şu adımları izleyin:

  1. Bir token sözleşmesi oluşturun: Hardhat projenizde contracts dizinine gidin ve MyToken.sol adında yeni bir dosya oluşturun. Bu dosyayı açın ve token sözleşmenizi tanımlayın:


// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract MyToken is ERC20 {

    constructor(uint256 initialSupply) ERC20("MyToken", "MTK") {

        _mint(msg.sender, initialSupply);

    }

}
Kopyala

Bu akıllı sözleşme, OpenZeppelin kütüphanesini kullanarak "MTK" sembolüyle "MyToken" adında bir ERC-20 token oluşturur. Dağıtıldığında, dağıtıcı tarafından belirlenen miktarda başlangıç token arzı basar ve bunları dağıtıcının adresine atar.

  1. Bir dağıtım betiği yazın: scripts dizininde deploy.js adında yeni bir dosya oluşturun ve sözleşmenizi dağıtmak için aşağıdaki kodu ekleyin:


async function main() {

  const [deployer] = await ethers.getSigners();

  console.log("Deploying contracts with the account:", deployer.address);

  const MyToken = await ethers.getContractFactory("MyToken");

  const myToken = await MyToken.deploy(1000000);

  console.log("MyToken deployed to:", myToken.address);

}

main()

  .then(() => process.exit(0))

  .catch((error) => {

    console.error(error);

    process.exit(1);

  });
Kopyala

Yukarıdaki betik, Hardhat ve ethers.js kullanarak "MyToken" akıllı sözleşmesini 1.000.000 tokenlık bir arzla başlatarak dağıtır. Dağıtıcının adresini alır ve sözleşmeyi dağıtır.

  1. Sözleşmenizi yerel olarak derleyin ve dağıtın: Terminalinizde, sözleşmenizi Hardhat tarafından sağlanan yerel bir blok zincirine derleyip dağıtın:


npx hardhat compile

npx hardhat run scripts/deploy.js --network localhost
Kopyala

Adım 3: Token sözleşmenizi Linea testnet'e dağıtın

ERC-20 tokenımızı yerel olarak geliştirip dağıttığımıza göre, artık Infura ve MetaMask kullanarak Linea testnet'e dağıtma zamanı geldi. Tokenınızı Linea testnet'te yayına almak için şu adımları izleyin.

  1. Bir Infura hesabı oluşturun: Infura, çeşitli blok zinciri ağlarına ve testnet'lerine kolay erişim sağlar. Yeni bir proje oluşturun, desteklenen ağlar menüsünden Linea Sepolia testnet'i seçin ve proje kimliğini kopyalayın.

  2. MetaMask'ı yapılandırın: MetaMask cüzdanınızı açın ve ağ bölümüne gidin. Açılır menüde "test ağlarını göster" seçeneğinin etkin olduğundan emin olun. Ardından Linea Sepolia testnet'i seçin.

  3. Linea Sepolia ETH edinin: Sözleşmenizi dağıtırken gas ücretlerini ödemek için Linea Sepolia ETH'ye ihtiyacınız olacak. Resmi Linea Sepolia faucet'ini ziyaret ederek Linea ETH edinebilirsiniz.

  4. Hardhat yapılandırmasını güncelleyin: Hardhat projenizde, Linea testnet yapılandırmasını eklemek için hardhat.config.js dosyanızı güncelleyin:


require("@nomiclabs/hardhat-ethers");

require("dotenv").config();

module.exports = {

  solidity: "0.8.0",

  networks: {

    lineaTestnet: {

      url: `https://linea-sepolia.infura.io/v3/${process.env.INFURA_PROJECT_ID}`,

      accounts: [`0x${process.env.PRIVATE_KEY}`],

      chainId: 59141

    }

  }

};
Kopyala

.env dosyanızın gerekli ortam değişkenlerini içerdiğinden emin olun:


INFURA_PROJECT_ID=your_infura_project_id

PRIVATE_KEY=your_private_key
Kopyala
  1. Sözleşmenizi Linea Sepolia testnet'e dağıtın

Şimdi token sözleşmenizi Linea testnet'e dağıtmak için şu komutu çalıştırın:


npx hardhat compile

npx hardhat run scripts/deploy.js --network lineaTestnet
Kopyala

Bu betik, ERC-20 token sözleşmenizi MetaMask'a bağlı hesabı kullanarak Linea testnet'e dağıtacaktır.

MetaMask Developer ile web3 dapp geliştirmenizi ilerletin

Ethereum token geliştirmenin temellerinde ustalaşarak, geliştirme ortamınızı kurarak ve en iyi uygulamalara bağlı kalarak kendi Ethereum tokenınızı başarıyla geliştirebilir ve dağıtabilirsiniz. İster yeni bir kripto para birimi oluşturun ister bir varlığı tokenize edin; Ethereum, fikirlerinizi hayata geçirmek için gerekli araçları ve ekosistemi sunar.

Sign-in-with-Ethereum (SIWE), EIP-6963 desteği ve Snaps aracılığıyla MetaMask ile sorunsuz entegrasyon gibi daha gelişmiş geliştirme ihtiyaçlarınız için MetaMask Developer portalını ziyaret edin. Portal; kullanıcı katılımını kolaylaştırmak ve geliştiricilerin MetaMask kullanıcıları için özel, izinsiz cüzdan bağlantıları ile dapp içi deneyimler oluşturmasını sağlamak amacıyla tasarlanmış kapsamlı bir araç, API ve SDK paketi sunar.

Yapay zeka tarafından çevrildi. Hatalar içerebilir. Lütfen her zaman bilgileri doğrulayın.

Çeviriyi değerlendir
  • Kingsley Okonkwo
    Kingsley Okonkwo

    Kingsley, a certified Ethereum Blockchain developer, serves as a technical writer at Consensys, with a special focus on developer tools. Before joining Consensys, Kingsley worked as a freelance backend developer on sevral platforms including Gigster and Braintrust. Boasting 5 years of software development experience, he's proficient with tools such as JavaScript (Node.js & React), GoLang, SQL, and Docker. Kingsley excels in producing step-by-step tutorials and how-to guides, utilizing the latest in web3 technology to help fellow developers build better dapps. Currently based in Dubai, Kingsley enjoys playing basketball and soccer in his free time

    Tüm makaleleri oku