
Dr. in Engineering | Researcher | Member @SuperteamTR | Passionate about Rustlang, software, and blockchain.
Türkiye
Joined December 2021
- Tweets233
- Following230
- Followers376
- Likes2.7K
Pinned Tweet
Rust programlama dili neden bu kadar çok seviliyor? Üst üste 7. kez en sevilen dil olmasındaki etkenler neler? Gün geçtikçe değeri neden daha da çok artacak?
Bu flood'da hızlıca bir göz atalım. 👇
Murat retweeted
BREAKING NEWS
The Royal Swedish Academy of Sciences has decided to award the 2024 Sveriges Riksbank Prize in Economic Sciences in Memory of Alfred Nobel to Daron Acemoglu, Simon Johnson and James A. Robinson “for studies of how institutions are formed and affect prosperity.”
#NobelPrize
Murat retweeted
Haziran ayında, Superteam TR'de sıcaklardan daha fazla damgasını vuran birileri vardı! 🚀
Haziran ayının member'ı olarak; gerek aktifliği, gerek yardımları olsun @murtiblock her zaman buralardaydı! ⚡️
Kendisini tebrik ediyoruz! 🎉
🤓 Fun fact: Murat'ın Frontend Devs Challenge programımızda eğitmenimiz olduğunu ve 2 hafta boyunca gece gündüz demeden her soruya cevap verdiğini biliyor muydun?
➡️ Sen de member olmak istiyorsan, buyur: discord.gg/F9yRrPwSMk
Murat retweeted
👏👏👏 well said Ser. @solana_devs
What I experienced by learning from the artisans at
@solanaturbine pushed me to delve into parts of Solana that were hazy for me. That haze cleared up now and I wrote this article so that you may clear the haze around your head and have a sunny day. ☀️
reinerbraun.substack.com/p/u…
What I experienced by learning from the artisans at
@solanaturbine pushed me to delve into parts of Solana that were hazy for me. That haze cleared up now and I wrote this article so that you may clear the haze around your head and have a sunny day. ☀️
reinerbraun.substack.com/p/u…
Solana’da birbiri ardınca meme tokenler çıkarken, biz de Solana’nın token altyapısını ve Solana ağında nasıl yeni bir token çıkaracağınızı inceleyelim:
1. @phantom vb. web3 cüzdanlarınızı açtığınızda gördüğünüz SOL, USDC gibi varlıklarınız aslında cüzdanınızın içinde değil, ilgili blockchain ağında bir yerlerde tutulurlar ancak siz sanki cüzdanınızın içindeymiş gibi görürsünüz.
2. Yani gerçek hayatta deri cüzdanlarınızı açtığınızda gördüğünüz kağıt paralar gibi değiller. Diyelim ki iki farklı bankada Lira ve Dolar tutuyorsunuz, bu bankalardaki paranız bankanın sistemlerinde sizin adınıza açılmış hesaplarda tutulur ve deri cüzdanınızı açtığınızda paranızı değil bu iki bankanın hesap kartını görürsünüz, kartlar ise o paralara sahip olduğunuzu gösterir. Web3 cüzdanınız da buna benzer, içinde SOL, USDC var gibi gözükür ama onlar sizin cüzdanınızda tuttuğunuz banka hesap kartlarınıza benzer, nasıl ki Lira ve Dolarlarınız banka sistemlerindeki hesaplarda tutuluyorsa Solana’da da SOL ve USDC leriniz blockchain ağında sizin web3 cüzdanınıza bağlı hesaplarda tutulur.
3. Aslında teknik olarak hiçbir zaman bir web3 cüzdana ihtiyaç yoktur, çünkü cüzdanlar sadece bir arayüzden ibarettir; yapılma amaçları her kesimden insanın kolaylıkla kullanmasını sağlamak, hatta @getclave gibi babaannenizin bile kolayca kullanabilmesini sağlamaktır.
4. Bildiğiniz gibi bankalarda Lira, Dolar, Euro vb her farklı para birimi için sizin adınıza farklı hesaplar açılır; Liranız varsa Lira hesabı açılır, Dolarınız varsa Dolar hesabı açılır vs. ve varlıklarınız ilgili hesapta tutulur. Solana’da da aynı mantık işler; cüzdanınızda gördüğünüz her bir token yukarıda da görüldüğü gibi Solana blokzincirinde “Associated Token Account” denilen ve kısaltması “ATA” olan, Türkçeye “ilişkili token hesabı” olarak çevrilebilecek hesaplarda tutulur. “İlişkili” denmesindeki amaç sizin web3 cüzdanınız ve tuttuğunuz tokenle ilişkili (bağlı) olmasıdır.
5. Yukarıdaki resimde USDC token hesabının bilgilerini görebilir ve ayrıntılı olarak inceleyebilirsiniz. Bir ATA hesabı oluşturmak için kişisel cüzdan adresiniz ve ilgili tokenin hesap adresi kullanılarak kriptografik işlemlerle yeni bir adres elde edilir. Örneğin USDC için cüzdan adresiniz ve USDC nin yukarıdaki resimde gördüğünüz hesap adresi kullanılarak sizin cüzdana özel bir “USDC ATA” oluşturulur ve sahip olduğunuz bütün USDC ler bu ATA da tutulur. JUP tokene sahipseniz yine cüzdan adresiniz ve JUP token hesabının adresi kullanılarak size özel bir JUP ATA oluşturulur ve bütün JUP tokenleriniz orada tutulur. Bütün bu ATA hesapları size özeldir çünkü sizin cüzdan adresiniz kullanılarak oluşturulmuştur.
6. Diyelim ki Mete sıfırdan yeni bir web3 cüzdanı açtı, başlangıçta içerisinde hiç bir token olmayacağı için Solana ağında Mete’nin cüzdanına bağlı hiçbir ATA hesabı olmayacaktır. Diyelim ki Berkay Mete’nin bu yeni cüzdan adresine USDC göndermek istedi, o zaman Mete’nin bu yeni cüzdanının adresi ile USDC tokeninin hesap adresi kullanılarak ağ üzerinde Mete’ye özel sıfırdan yeni bir USDC ATA hesabı oluşturulur ve Berkay’ın gönderdiği USDC tokenler bu hesaba yatırılır.
7. Mete cüzdanında daha önceden USDC tutmuşsa zaten zincir üstünde onun cüzdan adresiyle ilişkili bir USDC ATA var olduğu için yeni bir tane daha oluşturulmaz, mevcut hesaba yatırılır. Cüzdanındaki bütün USDC tokenlerini harcamış olsa bile ilişkili USDC ATA hesabı silinmez, ağ üzerinde tutulmaya devam eder.
8. Mete ile Berkay arasındaki bütün token alışverişleri zincir üstündeki (on-chain) ATA hesapları arasında gerçekleşir. Madem ki alış-verişler bu ATA hesapları arasında oluyor, o zaman web3 cüzdan hesabınız teknik olarak ne işe yarıyor?
9. Web3 cüzdan hesabınız tıpkı sizin banka hesap kartınız gibidir, banka kartı ile bütün hesaplarınıza erişebilir ve para çekme/gönderme vb işlemleri yapabilirsiniz ve bunu sizden başkası yapamaz, yani otorite sizsiniz çünkü kartın şifresini sadece siz biliyorsunuz. Web3 cüzdanınız da buna benzer, cüzdan sahibi “private key” yani “gizli anahtar” a sahip olduğu için al/sat/gönder vb gibi bütün işlemleri yapabilen otoritedir.
Not: Solana'nın yerel kripto para birimi olan SOL, bir token yapısında olmadığı için ATA hesabı oluşturulmaz, sahip olduğunuz SOL varlıklar "System Account" adlı hesapta tutulur. Ancak token yapısında olan "Wrapped SOL (WSOL)" adlı bir token çıkarılmıştır.
Şimdi sıfırdan yeni bir token nasıl oluşturulur ona bakalım: ⤵️
1. Mete kendi kişisel cüzdan adresini kullanarak yeni oluşturacağı “MET” adlı token için zincir üstünde “Token Mint Account” denilen bir mint hesabı oluşturur. Mint hesabı ağ üzerindeki herhangi bir tokenin adı, sembolü vb gibi temel bilgilerini tutan hesaptır. Mint hesabı sıfırdan oluşturulur ve hesap üzerindeki otorite Mete’nin kişisel cüzdan hesabıdır.
2. Mint hesabı sadece token hakkındaki bilgileri tutar, tokenlerin kendisini tutmaz. Mete sıfırdan oluşturduğu MET token mint hesabının adresini, kendi kişisel cüzdan adresini ve istediği token sayısının bilgisini sisteme vererek yeni tokeni için bir MET ATA hesabı oluşturur, istediği miktarda MET tokeni artık bu hesapta kullanıma hazırdır.
3. Şimdi MET tokenlerini istediği adrese gönderebilir, tokenleri oluştururken kişisel cüzdan adresini kullandığı için tokenlerin sahibi de odur ve sahip olduğu bütün MET tokenler kişisel cüzdan hesabında görünecektir ancak aslında orada değil ağ üzerindeki MET ATA hesabında tutulmaktadır. Tokenleri göndermek için kişisel cüzdanını kullanır.
4. Mete yeni oluşturduğu MET tokenini Berkay’a göndermek istediğinde, Berkay’ın kişisel cüzdan adresi ve MET tokeninin mint adresi kullanılarak Berkay’ın kişisel cüzdanına bağlı bir MET ATA hesabı ağ üzerinde sıfırdan oluşturulur ve Mete’nin gönderdiği MET tokenler bu hesaba kaydedilir, Berkay ise kişisel cüzdanını açtığında MET tokenlerini cüzdanında görecektir.
Bütün bu anlattıklarımı pratikte denemek isterseniz hazırladığım Github reposunu aşağıdaki linkten indirerek readme deki talimatları takip edip devnet üzerinde kendi tokeninizi oluşturabilir ve başka bir adrese gönderebilirsiniz. Bilgisayarınızda sadece Node.js kurulu olması yeterli ve tamamen TypeScript kodu. Web2 geliştiricisiyseniz Web3’ü deneyimlemek adına güzel bir başlangıç olabilir. ⤵️
github.com/muratartan/hack_s…
✨ Thanks very much @leo from @ComeBuidlwithUs for reviewing.
Murat retweeted
istanbul is one of the most safe, affordable, crypto-friendly, historically-significant cities i’ve ever been to
but there’s another reason this might be the greatest conference city:
I watched the hero live for the first time 😃. Thanks for this opportunity to the whole team of @eth_gunu and @EFDevconnect for the amazing first day. 🔥
Solidity ile yazılıp derlenen bir kontrat EVM' e bytecode formatında kaydedilir.
Peki bu bytecode'u geri dönüştürerek (decompile) kontratın orijinal kodlarını elde edebilir miyiz?
Cevap: Evet.
Rust ile geliştirilen ve bunu mümkün kılan "Heimdall" adlı projeye hızlıca göz atalım.
Peki neden kontrat geri dönüştürmeye (decompile) gerek var?
En önemli amacı kontrat yapısını, opcode'larını, değişkenlerini, kontrol akışını analiz edip kaynağı belirsiz bir kontratın güvenilirliği hakkında fikir edinmek ya da bir kod istismarının nasıl yapıldığını analiz etmek.
Özellikle de bir kod istismarı durumunda çok önemli bilgiler toplanıp projenin gelişimine katkıda bulunabilir.
Linkteki repodan projeyi inceleyebilir, bilgisayarınıza kurarak deneyimleyebilir ve açık kaynak bir proje olduğu için katkıda bulunabilirsiniz:
github.com/Jon-Becker/heimda…
Rust'ın hız ve güvenliğini arkasına alarak geliştirilen, modüler yapıda ve verimli, yepyeni bir Ethereum yürütme katmanı (execution layer) olsun ister miydiniz? O halde geliştirilmekte olan "Reth" yani "Rust Ethereum" projesine hızlı bir göz atalım:
Mevcut katmanlardan Geth'in Go dili ile, Nethermind'in C# ile ve Besu'nun Java ile yazıldığı düşünüldüğünde; Rust Ethereum'un da eklenmesiyle dil ve katman çeşitliliğinin artması, Ethereum'un kararlılığı ve geleceği açısından çok önemli ve heyecan verici.
Reth, hem full node hem de arşiv node olarak hizmet verecek ve L2 lerle de birtakım uyumlulukları olacak şekilde geliştirilmeye devam ediyor. Gelişmeler için @gakonst u takip edebilir ve kurup denemek için linke tıklayabilirsiniz: paradigmxyz.github.io/reth/
























