The Evolution of the Internet: Blockchain and Web 3.0 TR/EN

DMoY...FWMn
20 Jan 2024
121
Türkçe

Blockchain teknolojisi ve Web 3.0, internetin evrim geçirmesini sağlayan ve merkezi olmayan, güvenli bir altyapı oluşturan inovasyonlar olarak öne çıkıyor. Bu teknolojik gelişmelerin başarılı bir şekilde uygulanabilmesi için çeşitli yazılım dilleri kullanılıyor. İşte blockchain ve Web 3.0 alanlarında sıkça kullanılan 10 farklı yazılım dili ve örnek kodlar:

  • Solidity: Ethereum'un akıllı sözleşmeleri için kullanılan bir dil olarak öne çıkıyor. Ethereum blok zincirinde merkezi olmayan uygulamalar (DApps) geliştirmek için tercih edilir. İşte bir ERC-20 token örneği:
solidity

// Basit Solidity Akıllı Sözleşme Örneği (ERC-20 Token)
pragma solidity ^0.8.0;

contract MyToken {
    string public name = "MyToken";
    string public symbol = "MT";
    uint256 public totalSupply = 1000000;

    mapping(address => uint256) public balanceOf;

    constructor() {
        balanceOf[msg.sender] = totalSupply;
    }
}


  • Rust: WebAssembly (Wasm) için geliştirilmiş olup tarayıcılar arası yüksek performanslı uygulamaların oluşturulmasını sağlar. Rust ile basit bir toplama işlemi örneği:
rust

// Basit Rust Toplama İşlemi
fn main() {
    let result = add_numbers(5, 10);
    println!("Toplam: {}", result);
}

fn add_numbers(a: i32, b: i32) -> i32 {
    a + b
}


  • JavaScript: Web 3.0 uygulamalarının ön yüz geliştirmesinde yaygın olarak kullanılan JavaScript, tarayıcı tabanlı ve hafif olmasıyla bilinir. İşte Web3.js kütüphanesi kullanarak Ethereum hesap bakiyesi sorgulama örneği:
javascript

// Web3.js ile Ethereum Hesap Bakiyesi Sorgulama
const Web3 = require('web3');
const web3 = new Web3('https://mainnet.infura.io/v3/YOUR_INFURA_API_KEY');

const address = '0x742d35Cc6634C0532925a3b844Bc454e4438f44e';

web3.eth.getBalance(address, (err, balance) => {
    console.log('Hesap Bakiyesi:', web3.utils.fromWei(balance, 'ether'), 'ETH');
});


  • Go (Golang): Hyperledger Fabric gibi özel blockchain ağlarının geliştirilmesinde kullanılan Go, hızlı ve verimli bir dil olarak öne çıkar. İşte basit bir akıllı sözleşme örneği:
go

// Temel Go Akıllı Sözleşme Örneği
package main

import "fmt"

func main() {
    result := addNumbers(5, 10)
    fmt.Println("Toplam:", result)
}

func addNumbers(a, b int) int {
    return a + b
}


  • Python: Blockchain projelerinin geniş bir şekilde kullanmasıyla bilinen Python, anlaşılır syntax yapısıyla dikkat çeker. İşte Ethereum hesap bakiyesi sorgulama örneği:
python

# Python ile Ethereum Hesap Bakiyesi Sorgulama
from web3 import Web3

web3 = Web3(Web3.HTTPProvider('https://mainnet.infura.io/v3/YOUR_INFURA_API_KEY'))
address = '0x742d35Cc6634C0532925a3b844Bc454e4438f44e'

balance = web3.eth.getBalance(address)
print('Hesap Bakiyesi:', web3.fromWei(balance, 'ether'), 'ETH')


  • C++: Bitcoin gibi erken dönem blockchain projelerinde kullanılan C++, basit bir toplama işlemi için örnek kod:
cpp

// Basit C++ Toplama İşlemi
#include 

int addNumbers(int a, int b) {
    return a + b;
}

int main() {
    int result = addNumbers(5, 10);
    std::cout << "Toplam: " << result << std::endl;
    return 0;
}


  • Java: Corda gibi özel blockchain uygulamalarının geliştirilmesinde kullanılan Java, basit bir Corda akıllı sözleşme örneği:
java

// Java ile Corda Akıllı Sözleşme Örneği
public class MyContract implements Contract {
    @Override
    public void verify(LedgerTransaction tx) throws IllegalArgumentException {
        // Sözleşme doğrulama mantığı buraya eklenir.
    }
}


  • Vyper (Ethereum): Ethereum platformu için Solidity alternatifi olan Vyper, basit bir ERC-20 token örneği ile şu şekilde kullanılır:
Vyper

# Vyper ile ERC-20 Token Örneği
ERC20Token:
    balance: public(map(address, uint256))
    @public
    def transfer(to: address, value: uint256):
        send(msg.sender, value)
        self.balance[to] += value


  • Simplicity (Bitcoin Cash): Bitcoin Cash için tasarlanmış bir dil olan Simplicity, basit bir akıllı sözleşme örneği:
simplicity

// Simplicity ile Basit Bir Akıllı Sözleşme
script {
    int: x;
    int: y;
    x y ADD
}


  • Mutan (Go-Ethereum): Ethereum Virtual Machine (EVM) için geliştirilmiş olan Mutan, basit bir akıllı sözleşme örneği:
mutan

// Mutan ile Basit Bir Akıllı Sözleşme
contract MyToken {
    function getBalance(address addr) returns (uint balance) {
        balance = this.balance[addr];
    }
}


Bu örnek kodlar, her bir yazılım dilinin temel özelliklerini ve blockchain ve Web 3.0 projelerinin geliştirilmesinde nasıl kullanılabileceğini göstermektedir.

English

Blockchain technology and Web 3.0 are at the forefront of innovations that drive the evolution of the internet, providing a decentralized and secure infrastructure. To successfully implement these technological advancements, various programming languages are employed. Here are 10 different programming languages commonly used in blockchain and Web 3.0, along with sample code snippets:

  • Solidity: Solidity is a language used for Ethereum smart contracts, preferred for developing decentralized applications (DApps). It enables the writing of smart contracts on the Ethereum blockchain.
solidity

// Simple Solidity Smart Contract Example (ERC-20 Token)
pragma solidity ^0.8.0;

contract MyToken {
    string public name = "MyToken";
    string public symbol = "MT";
    uint256 public totalSupply = 1000000;

    mapping(address => uint256) public balanceOf;

    constructor() {
        balanceOf[msg.sender] = totalSupply;
    }
}


  • Rust: developed for WebAssembly (Wasm), facilitates the creation of high-performance applications across browsers. Here's a basic addition operation in Rust:
rust

// Simple Rust Addition Operation
fn main() {
    let result = add_numbers(5, 10);
    println!("Total: {}", result);
}

fn add_numbers(a: i32, b: i32) -> i32 {
    a + b
}


  • JavaScript: widely used for front-end development in Web 3.0 applications, is known for its browser-based and lightweight nature. Below is an example of querying an Ethereum account balance using Web3.js:
javascript

// Ethereum Account Balance Query with Web3.js
const Web3 = require('web3');
const web3 = new Web3('https://mainnet.infura.io/v3/YOUR_INFURA_API_KEY');

const address = '0x742d35Cc6634C0532925a3b844Bc454e4438f44e';

web3.eth.getBalance(address, (err, balance) => {
    console.log('Account Balance:', web3.utils.fromWei(balance, 'ether'), 'ETH');
});


  • Go (Golang): Go is utilized in the development of private blockchain networks like Hyperledger Fabric. It is a fast and efficient language that accelerates application development in distributed ledger technologies.
go

// Basic Go Smart Contract Example
package main

import "fmt"

func main() {
    result := addNumbers(5, 10)
    fmt.Println("Total:", result)
}

func addNumbers(a, b int) int {
    return a + b
}


  • Python: with its broad usage in blockchain projects, is recognized for its simple and understandable syntax. Here's an example of querying an Ethereum account balance in
python

# Ethereum Account Balance Query with Python
from web3 import Web3

web3 = Web3(Web3.HTTPProvider('https://mainnet.infura.io/v3/YOUR_INFURA_API_KEY'))
address = '0x742d35Cc6634C0532925a3b844Bc454e4438f44e'

balance = web3.eth.getBalance(address)
print('Account Balance:', web3.fromWei(balance, 'ether'), 'ETH')


  • C++: was used in early blockchain projects like Bitcoin. Here's a basic C++ code snippet for addition:
cpp

// Simple C++ Addition Operation
#include 

int addNumbers(int a, int b) {
    return a + b;
}

int main() {
    int result = addNumbers(5, 10);
    std::cout << "Total: " << result << std::endl;
    return 0;
}


  • Java: Java is employed in the development of private blockchain applications like Corda. Here's a basic example of a Corda smart contract in Java:
java

// Corda Smart Contract Example in Java
public class MyContract implements Contract {
    @Override
    public void verify(LedgerTransaction tx) throws IllegalArgumentException {
        // Contract verification logic is added here.
    }
}


  • Vyper (Ethereum): Vyper, an alternative to Solidity for Ethereum, has a simpler syntax. Below is an example of an ERC-20 token in Vyper:
Vyper

# ERC-20 Token Example in Vyper 
ERC20Token: 
    balance: public(map(address, uint256))
    @public
        def transfer(to: address, value: uint256): 
        send(msg.sender, value) 
        self.balance[to] += value 


  • Simplicity (Bitcoin Cash): Simplicity, designed for Bitcoin Cash, reduces the complexity of smart contracts to enhance security. Here's a simple smart contract example:
simplicity

// Simple Smart Contract in Simplicity 
script { 
    int: x;
    int: y;
    x y ADD 
} 


  • Mutan (Go-Ethereum): Mutan, developed for the Ethereum Virtual Machine (EVM), provides an alternative to Solidity. Here's a simple smart contract in Mutan:
mutan

// Simple Smart Contract in Mutan 
contract MyToken { 
    function getBalance(address addr) returns (uint balance) { 
        balance = this.balance[addr]; 
    }
} 

These programming languages are selected based on their suitability for various needs in the development of blockchain and Web 3.0 projects, contributing to technological advancements in this field.


: Last Blogs :

The Future of Work: Emerging Professions in a Changing World TR/EN --> Link

The Impact of Artificial Intelligence TR/EN --> Link

Building Your Own Blockchain Network TR/EN --> Link

Cryptocurrency Mining and Its Profitability TR/EN -> Link

The Power of Compound Interest: TR/EN -> Link



GROW UP THE TOGETHER

Twitter | Instagram

Get fast shipping, movies & more with Amazon Prime

Start free trial

Enjoy this blog? Subscribe to mrmoonrose

15 Comments