Skip to main content

5ire EVM Zinciri

5ire IDE

Not: 5ire IDE'yi kullanmaya başlamak için kullanıcıların cüzdanlarını kurması ve yapılandırması gerekir. 5ire cüzdanınızı kurmaya başlamak için bu bölüme gidin.

Adım 1: 5ire IDE Platformuna gidin.

Adım 2: Sol panel menüsünden Çalışma Alanı'na gidin ve Yeni Dosya Oluştur simgesini seçin.

5ire IDE Workspace

Adım 3: Sözleşmeler klasörü altında “5ire.sol” adıyla yeni bir dosya oluşturun.

5ire IDE Contract

  • Yeni bir dosya oluşturulacak ve ana panel boş görünecektir.

Note: .sol, Solidity dosyalarının uzantısıdır

Adım 4: Kodu yazma

  • Mevcut kodunuzu 5ire.sol dosyasının ana paneline yapıştırabilir veya sözleşme dosyanızı Workspace'e yükleyebilirsiniz.

  • Aşağıdaki örnek ERC-20 kodunu da kullanabilirsiniz:

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


// https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.0.0/contracts/token/ERC20/IERC20.sol
interface IERC20 {
function totalSupply() external view returns (uint);
function balanceOf(address account) external view returns (uint);
function transfer(address recipient, uint amount) external returns (bool);


function allowance(address owner, address spender) external view returns (uint);


function approve(address spender, uint amount) external returns (bool);


function transferFrom(
address sender,
address recipient,
uint amount
) external returns (bool);


event Transfer(address indexed from, address indexed to, uint value);
event Approval(address indexed owner, address indexed spender, uint value);
}


contract ERC20 is IERC20 {
uint public totalSupply;
mapping(address => uint) public balanceOf;
mapping(address => mapping(address => uint)) public allowance;
string public name = "Solidity by Example";
string public symbol = "SOLBYEX";
uint8 public decimals = 18;




function transfer(address recipient, uint amount) external returns (bool) {
balanceOf[msg.sender] -= amount;
balanceOf[recipient] += amount;
emit Transfer(msg.sender, recipient, amount);
return true;
}




function approve(address spender, uint amount) external returns (bool) {
allowance[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, amount);
return true;
}




function transferFrom(
address sender,
address recipient,
uint amount
) external returns (bool) {
allowance[sender][msg.sender] -= amount;
balanceOf[sender] -= amount;
balanceOf[recipient] += amount;
emit Transfer(sender, recipient, amount);
return true;
}




function mint(uint amount) external {
balanceOf[msg.sender] += amount;
totalSupply += amount;
emit Transfer(address(0), msg.sender, amount);
}




function burn(uint amount) external {
balanceOf[msg.sender] -= amount;
totalSupply -= amount;
emit Transfer(msg.sender, address(0), amount);
}
}

Yukarıda belirtilen kodu yapıştırdıktan sonra ekranınız şu şekilde görünecektir:

5ire IDE sol

Adım 5: Derleme

  • Sol panelden Solidity Compiler'a gidin.

  • Bir sözleşmeyi derlemek için ya Dosya Gezgini'nden istenen dosyayı seçin ya da birden çok dosya açıksa istenen dosyanın Editör'de etkin olduğundan emin olun.

  • Dosya gezgininde seçilen aktif bir dosya varsa, solidity derleyicisi şöyle görünecektir:

5ire IDE Solidity Config

  • Sözleşme dosyasını derlemek için Compile 5ire.sol'a tıklayın.

  • Başarılı bir derlemeden sonra, ekranınız şöyle görünecek:

5ire IDE Solidity Compiler

Adım 6: Dağıtım

  • Sol panelden Deploy & Run Transactions kenar çubuğuna gidin.

  • Bu modülü kullanmak için derlenmiş bir sözleşmeye sahip olmak gerekir. Dolayısıyla, CONTRACT seçim kutusunda bir sözleşme adı varsa (seçim kutusu VALUE giriş alanının altındadır), bu modülü kullanabilirsiniz.

    • 5ire Provider: 5ire IDE'yi enjekte edilmiş bir web3 sağlayıcısına bağlamak için. En yaygın enjekte edilen sağlayıcı MetaMask ve 5ire Cüzdan uzantısıdır.
    • Hardhat Provider: 5ire IDE'yi yerel bir Hardhat test zincirine bağlamak için.
    • Ganache Provider: 5ire IDE'yi yerel bir Truffle Ganache test zincirine bağlamak için.

5ire IDE Deploy And Run

  • Deploy'a tıklayın.

  • Web3 uzantılı işlemi onaylayın.

Video Öğretici:

  • İşlem onaylandıktan sonra dağıtım ayrıntıları, sözleşme adresi ve işlem terminalde görünür olacaktır:

5ire IDE Code Output

Explorer'ı Kullanma

Adım 1: 5ireChain düğümünü klonlama

  • Sisteminizde bir terminal shell açın.
  • Aşağıdaki komutu çalıştırarak firechain-evm-base düğüm deposunu klonlayın:

HTTPS:

https://github.com/5ire-tech/5ire-evm-base.git

SSH:

[email protected]:5ire-tech/5ire-evm-base.git

Adım 2: Düğüme bağlanma

  • Gerekirse, yerel sisteminizde bir terminal kabuğu açın.
  • 5ire EVM tabanını derlediğiniz kök dizini değiştirin.
  • Aşağıdaki komutu çalıştırarak düğümü geliştirme modunda başlatın:
Cargo build –release

./target/release/firechain-node --dev (düğümü geliştirme modunda çalıştıracak.)

Not: Cargo yapısı kodu derler.

--dev komut satırı seçeneği, düğümün Alice için belirlenmiş bir EVM hesabının yanı sıra test amacıyla özel olarak ayarlanmış diğer hesapları içeren önceden tanımlanmış bir geliştirme zinciri belirtimi kullanarak çalıştığını belirtir.

  • Terminalde görüntülenen çıktıyı inceledikten sonra düğümünüzün başarılı bir şekilde çalışıp çalışmadığını doğrulayabilirsiniz.

Terminal şuna benzer bir çıktı göstermelidir:

Proof of 5ire

Proof of 5ire

  • Yerel düğüme bağlanmak için Polkadot-JS uygulamasını kullanın.

  • Üst çubukta, geliştirici açılır menüsüne tıklayın.

  • Token sözleşmesini oluşturun.

Not: Kolaylık sağlamak için, sözleşmeyi 5ire EVM Zincirinde dağıtmak için MyToken.json'daki belirteç sözleşmesinden derlenmiş bayt kodunu kullanabilirsiniz.

  • Extrinsics'i seçin.

  • İşlemi göndermek için, hesap olarak fonlanmış bir hesap geliştirme hesabı seçin.

  • EVM'yi (Ethereum Virtual Machine) seçin.

  • Oluştur işlevini seçin.

  • İşlev için parametreleri yapılandırın.

Bunun içinBunu belirtin
Source0xd43593c715fdd31c61141abd04a99fd6822c8558 (Seçtiğiniz Hesabın H160 Adresi)
InitEnter the token raw bytecode
Value0
Gas Limit42949672
Max Fee Per Gas1000000
  • İsteğe bağlı parametreler boş bırakılabilir. Nonce değeri, kaynak hesabın amacı için bilinen nonce değerini artıracaktır. Bu 0x0'dan başlar. Öncelikle seçilen işleve bağlı olarak, kullanılmayan parametreleri kaldırmanız gerekecektir.

  • İşlemi gönder'e basın. Bu, işleminizi tamamlama sürecini başlatacaktır.

  • İşlemi yetkilendirmek için Gönder ve İmzala'ya tıklayın. Bu, işlemin tamamlanmasına neden olacaktır.

Proof of 5ire

Remix IDE

Aşağıdaki adımlarla Remix IDE'yi kullanarak 5ire EVM zincirinde bir akıllı sözleşme yayınlayabilirsiniz.

Adım 1: İşlemi başlatmak için bu bağlantıyı ziyaret edin.

Adım 2: Çalışma alanları altında, Yeni Dosya Oluştur'a tıklayın. Bu, 5ire EVM zincirinde bir akıllı sözleşme yayınlamak için üzerinde çalışmaya başlayabileceğiniz yeni bir belge oluşturmanıza yardımcı olacaktır.

Proof of 5ire

Adım 3: 5ire.sol adlı sözleşmeler altında Yeni Bir Dosya oluşturun. Bu, 5ire üzerinde bir akıllı sözleşme kurabileceğiniz yeni bir program oluşturmanıza yardımcı olacaktır

Proof of 5ire

Adım 4: Aşağıdaki kodu kopyalayıp 5ire.sol dosyasına yapıştırın.

Burada ERC-20 belirteci için örnek bir kodumuz var:

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

// https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.0.0/contracts/token/ERC20/IERC20.sol
interface IERC20 {
function totalSupply() external view returns (uint);

function balanceOf(address account) external view returns (uint);

function transfer(address recipient, uint amount) external returns (bool);

function allowance(address owner, address spender) external view returns (uint);

function approve(address spender, uint amount) external returns (bool);

function transferFrom(
address sender,
address recipient,
uint amount
) external returns (bool);

event Transfer(address indexed from, address indexed to, uint value);
event Approval(address indexed owner, address indexed spender, uint value);
}



contract ERC20 is IERC20 {
uint public totalSupply;
mapping(address => uint) public balanceOf;
mapping(address => mapping(address => uint)) public allowance;
string public name = "Solidity by Example";
string public symbol = "SOLBYEX";
uint8 public decimals = 18;

function transfer(address recipient, uint amount) external returns (bool) {
balanceOf[msg.sender] -= amount;
balanceOf[recipient] += amount;
emit Transfer(msg.sender, recipient, amount);
return true;
}

function approve(address spender, uint amount) external returns (bool) {
allowance[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, amount);
return true;
}

function transferFrom(
address sender,
address recipient,
uint amount
) external returns (bool) {
allowance[sender][msg.sender] -= amount;
balanceOf[sender] -= amount;
balanceOf[recipient] += amount;
emit Transfer(sender, recipient, amount);
return true;
}

function mint(uint amount) external {
balanceOf[msg.sender] += amount;
totalSupply += amount;
emit Transfer(address(0), msg.sender, amount);
}

function burn(uint amount) external {
balanceOf[msg.sender] -= amount;
totalSupply -= amount;
emit Transfer(msg.sender, address(0), amount);
}
}

Yukarıda belirtilen kodu girdikten sonra ekranınız şu şekilde görünecektir:

Proof of 5ire

Adım 5: Solidity Compiler'a tıklayın ve 5ire.sol'u derlemeye tıklayın..

Proof of 5ire

Proof of 5ire

Adım 6: İstediğiniz işlemleri gerçekleştirmek için Deploy & Run Transactions'a tıklayın.

Proof of 5ire

Adım 7: 5ire.sol sözleşmesini dağıtın. Canlı ağa dağıtmak için Injected Web3'ü seçin. Bu durumda, enjekte edilen sağlayıcı olarak MetaMask'ı seçtik.

Proof of 5ire

Adım 8: Ayrıntıları doğruladıktan sonra işlemi onaylayın. Cüzdan adresini ve alıcı hesaba aktarılacak tutarı girmelisiniz.

Proof of 5ire

Adım 9: İşlemleri 5ire EVM zincirinde dağıtmak için MetaMask'ta gaz ücretini onaylayın (gaz ücreti, bir işlemin tamamlanması için kullanılan küçük bir işlem ücretidir).

Proof of 5ire

Adım 10: Remix'te dağıtılan sözleşme adresini bulun ve entegre işlevlerle etkileşim kurarak sözleşmeyi güncelleyin.

Proof of 5ire

Ganache

Ganache, özel bir blok zincirindeki akıllı sözleşmelerle etkileşime geçmek için Ethereum blok zincirini taklit etmenize izin veren özel bir Ethereum blok zinciri ortamıdır. Testleri çalıştırabilir, komutları uygulayabilir ve zincirin nasıl çalıştığını kontrol ederken durumları denetleyebilir.

Ganache'yi indirmek için bu bağlantıyı ziyaret edin.

Aşağıdaki kılavuz, Ganache kullanarak bir akıllı sözleşmeyi dağıtma sürecinde size yol gösterecektir:

Adım 1: Tarayıcınızda Remix IDE'yi açın ve kontrat bölümü altında yeni bir dosya oluşturun.

Ganache Step 1

Adım 2: Örnek kod şablonlarından birini kullanın ve aşağıda gösterildiği gibi Compile butonuna tıklayarak derleyin.

Ganache Step 2

Adım 3: Derlemeden sonra masaüstünüzde Ganache'yi açın. Ekranınız aşağıdaki resme benzeyecektir. QUICKSTART Ethereum'a tıklayın

Ganache Step 3

Adım 4: Şimdi, aşağıda gösterildiği gibi yerel bir RPC sunucusunda (HTTP://127.0.0.1:7545) blok zinciriniz için bir anımsatıcı ile birlikte 10 varsayılan hesap göreceksiniz:

Ganache Step 4

Adım 5: Tarayıcıya geri dönün ve Compile'ın hemen altındaki Deploy bölümüne gidin ve aşağıda gösterildiği gibi ortamdan Ganache Provider'ı seçin:

Ganache Step 5

Adım 6: Ganache Provider olarak HTTP://127.0.0.1:7545 sunucusunu girin. Ekranınız aşağıda gösterilen resim gibi görünecektir:

Ganache Step 6

Adım 7: Sözleşmeniz artık devreye alınmaya hazır! Devam etmek için Deploy butonuna tıklayın.

Ganache Step 7

Adım 8: Sözleşmenizin başarıyla uygulanıp uygulanmadığını doğrulamak için çıktı sekmesini kontrol edin.

Ganache Step 8

Adım 9: İşleminizin (sürecin) sunucuya başarıyla yansıtılıp yansıtılmadığını doğrulamak için Ganache'yi açın ve İşlemler'e geçin. Burada, aşağıdaki resimde gösterildiği gibi işleminizin ayrıntılarını göreceksiniz:

Ganache Step 9

Video Öğretici:

Hardhat

Bu kılavuz, 5ire EVM IDE'de gerçekleştirilecek olan Hardhat kullanan bir EVM Akıllı Sözleşmesini dağıtma sürecini özetlemektedir.

Adım 1: Bir proje klasörü oluşturarak başlayın. Bu kılavuz için proje klasörünün adı “mkdir hardhat-tutorial”.

HardHat Step 1

Adım 2: npx hardhat komutunu çalıştırın.

Adım 3: Bir sonraki adım, "Ne yapmak istiyorsunuz?" sorusu sorulduğunda Javascript/TypeScript projesi oluştur'u seçmektir.

HardHat Step 3

Adım 4: Başlangıçta oluşturulan hardhat project root’u ekleyin.

HardHat Step 4

Adım 5: İşlemi tamamlamak için "Y" ye basın.

HardHat Step 5

Adım 6: İşlem tamamlandığında ekranınızın görünümü aşağıdaki görseldeki gibi olacaktır.

HardHat Step 6

Adım 7: Remix IDEyi açın ve Deploy and Run Transactions’ı seçin..

HardHat Step 7

Adım 8: Hardhat Provider‘ı Seçin.

HardHat Step 8

Adım 9: Bağlantı kurulduysa, zincir kimliğini ve hesap listesini göreceksiniz.

HardHat Step 9

Adım 10: npx hardhat node. komutunu çalıştırın. Ardından, bakiyesi 10000 ETH olan 20 hesabın bir listesini görüntüler.

HardHat Step 10

Adım 11: Deploy’a tıklayarak, belirli bir akıllı sözleşmenin dağıtımını başlatabilirsiniz ve her şey yolunda giderse işleminiz başarılı olacaktır.

HardHat Step 11

Adım 12: Terminali kontrol ederek işleminizin tamamlandığını doğrulayabilirsiniz.

HardHat Step 12

Video Öğretici: