Skip to content

Commit

Permalink
fix: markdown syntax
Browse files Browse the repository at this point in the history
  • Loading branch information
wackerow committed Oct 16, 2024
1 parent 6bf088f commit aa40f31
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 30 deletions.
4 changes: 1 addition & 3 deletions public/content/translations/tr/community/support/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,7 @@ Ağ talebi nedeniyle gerekenden daha düşük bir işlem ücreti gönderdiyseniz

### Ethereum madenciliği nasıl yapılır? {#mining-ethereum}

Ethereum madenciliği artık mümkün değildir. Ethereum

iş ispatından<0> hisse ispatına<1> geçtiğinde madencilik kapatılmıştı. Artık madenciler yerine Ethereum'un doğrulayıcıları var. Herkes ETH [hisseleme](/glossary/#staking) yapabilir ve ağı güvence altına almak için doğrulayıcı yazılımı çalıştırarak hisseleme ödülleri alabilir.</p>
Ethereum madenciliği artık mümkün değildir. Ethereum [iş ispatından](/glossary/#pow) [hisse ispatına](/glossary/#pos) geçtiğinde madencilik kapatılmıştı. Artık madenciler yerine Ethereum'un doğrulayıcıları var. Herkes ETH [hisseleme](/glossary/#staking) yapabilir ve ağı güvence altına almak için doğrulayıcı yazılımı çalıştırarak hisseleme ödülleri alabilir.



Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ Başlamadan önce temel bilgilere mi ihtiyacınız var? [ethereum.org/learn](/le

## Başlangıç Seviyesi Makaleler ve Kitaplar {#beginner-articles-and-books}

- [Ethereum İstemcinizi Seçmek](https://www.trufflesuite.com/docs/truffle/reference/choosing-an-ethereum-client)
- [Geth ile Başlarken](https://medium.com/@tzhenghao/getting-started-with-geth-c1a30b8d6458)
- [Ethereum'a bağlanmak için Golang kullanmak](https://www.youtube.com/watch?v=-7uChuO_VzM)
- [Golang Kullanarak Ethereum Akıllı Sözleşmeleri Dağıtmak](https://www.youtube.com/watch?v=pytGqQmDslE)
Expand Down Expand Up @@ -54,7 +53,7 @@ Başlamadan önce temel bilgilere mi ihtiyacınız var? [ethereum.org/learn](/le

- [Geth / Go Ethereum](https://github.com/ethereum/go-ethereum) - _Ethereum protokolünün resmi Go uygulaması_
- [Go Ethereum Kodu Analizi](https://github.com/ZtesoftCS/go-ethereum-code-analysis) - _Go Ethereum kaynak kodunun incelenmesi ve analizi_
- </em>Arşiv düğümlerine odaklanan Go Ethereum'un [Erigon](https://github.com/ledgerwatch/erigon) - _Faster türevi</li>
- [Erigon](https://github.com/ledgerwatch/erigon) - _Arşiv düğümlerine odaklanan, Go Ethereum'un daha hızlı türevi_
- [Golem](https://github.com/golemfactory/golem) - _Golem, bilgi işlem gücü için küresel bir pazar oluşturuyor_
- [Quorum](https://github.com/jpmorganchase/quorum) - _İzin verilen veri gizliliğini destekleyen Ethereum uygulaması_
- [Prysm](https://github.com/prysmaticlabs/prysm) - _Ethereum "Serenity" 2.0 Go Uygulaması_
Expand All @@ -64,8 +63,8 @@ Başlamadan önce temel bilgilere mi ihtiyacınız var? [ethereum.org/learn](/le
- [Ethereum HD Cüzdan](https://github.com/miguelmota/go-ethereum-hdwallet) - _Go'daki Ethereum HD Cüzdan türevleri_
- [Multi Geth](https://github.com/multi-geth/multi-geth) - _Pek çok Ethereum ağ türü için destek_
- [Geth Hafif İstemci](https://github.com/zsfelfoldi/go-ethereum/wiki/Geth-Light-Client) - _Hafif Ethereum Alt Protokolünün Geth uygulaması_
- [Ethereum Golang SDK](https://github.com/everFinance/goether) - Golang'da _Basit bir Ethereum cüzdan uygulaması ve faydaları_
- [Covalent Golang SDK](https://github.com/covalenthq/covalent-api-sdk-go) - _200'den fazla blokzincir için Go SDK aracılığıyla verimli blokzincir verileri erişimi_</ul>
- [Ethereum Golang SDK](https://github.com/everFinance/goether) - _Golang'da Basit bir Ethereum cüzdan uygulaması ve faydaları_
- [Covalent Golang SDK](https://github.com/covalenthq/covalent-api-sdk-go) - _200'den fazla blokzincir için Go SDK aracılığıyla verimli blokzincir verileri erişimi_

Daha fazla kaynak mı arıyorsunuz? Göz atın: [ethereum.org/developers](/developers/).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,12 @@ lang: tr

## Kaynak kodu doğrulaması nedir? {#what-is-source-code-verification}

Geliştiriciler, bir akıllı sözleşmeyi [Ethereum Sanal Makinesi'ne (ESM)](/developers/docs/evm/)dağıtmadan önce, sözleşmenin Solidity</a>'de veya başka bir yüksek seviye programlama dilinde yazılan talimatları

olan kaynak kodunu bit koduna [derler.](/developers/docs/smart-contracts/compiling/) Ethereum Sanal Makinesi yüksek seviye talimatları yorumlayamayacağı için kaynak kodunu bit koduna (yani düşük seviye, makine talimatları) derlemek, sözleşme mantığını Ethereum Sanal Makinesi'nde yürütmek için şarttır.</p>
Geliştiriciler, bir akıllı sözleşmeyi [Ethereum Sanal Makinesi'ne (EVM)](/developers/docs/evm/) dağıtmadan önce, [sözleşmenin Solidity'de](/developers/docs/smart-contracts/languages/) veya başka bir yüksek seviye programlama dilinde yazılan talimatları olan kaynak kodunu bit koduna [derler](/developers/docs/smart-contracts/compiling/). Ethereum Sanal Makinesi yüksek seviye talimatları yorumlayamayacağı için kaynak kodunu bit koduna (yani düşük seviye, makine talimatları) derlemek, sözleşme mantığını Ethereum Sanal Makinesi'nde yürütmek için şarttır.

Kaynak kodu doğrulaması, sözleşme oluşturma sırasında farklılıkları ortaya çıkarmak için kullanmak üzere sözleşmenin kaynak kodu ile derlenmiş bit kodunu karşılaştırmaktır. Akıllı sözleşmeleri doğrulamak, reklamı yapılan sözleşme kodu blokzincirde çalışmakta olandan farklı olabileceği için önemlidir.

Akıllı sözleşme doğrulaması, bir sözleşmenin yazıldığı yüksek seviye dilde ne yaptığını, makine kodunu okumadan incelemeye olanak sağlar. Fonksiyonlar, değerler ve genelde değişken adları ile yorumlar, derlenen ve dağıtılan orijinal kaynak koduyla aynı kalır. Bu, kodu okumayı çok daha kolay kılar. Kaynak doğrulaması, kod dokümanları için de hazırlık yapar, bu sayede son kullanıcılar bir akıllı sözleşmenin ne yapmak üzere tasarlandığını bilir.



### Tam doğrulama nedir? {#full-verification}

Kaynak kodunun, yorumlar ve değişken adları gibi derlenmiş bit kodunu etkilemeyen bazı bölümleri vardır. Bu, farklı değişken adları ve farklı yorumları olan iki kaynak kodunun aynı sözleşmeyi doğrulayabileceği anlamına gelir. Bu sayede, kötü niyetli bir kişi kaynak kodunun içine aldatıcı yorumlar ekleyip ya da yanlış yönlendiren değişken adları verip sözleşmenin orijinal kaynak kodundan farklı bir kaynak koduyla doğrulanmasını sağlayabilir.
Expand All @@ -30,12 +26,8 @@ Meta veri dosyası, sözleşmenin derlemesiyle ilgili kaynak kodları ve bu kodl

Meta veri karmasından yararlanan bu tür doğrulamaya **"[tam doğrulama](https://docs.sourcify.dev/docs/full-vs-partial-match/)"** ("mükemmel doğrulama") adı verilir. Meta veri karmaları eşleşmiyorsa ya da doğrulamada dikkate alınmıyorsa buna, şu anda sözleşmeleri doğrulamanın daha yaygın yolu olan "kısmi eşleşme" denir. Tam doğrulama olmadan doğrulanmış kaynak kodun içinde görünmeyecek [kötü niyetli kod eklemek](https://samczsun.com/hiding-in-plain-sight/) mümkündür. Çoğu geliştirici tam doğrulamadan haberdar değildir ve derlemelerinin meta veri dosyasını tutmaz; bu yüzden kısmi doğrulama şimdiye kadar sözleşmeleri doğrulamada kullanılan genel geçer yöntem olmuştur.



## Kaynak kodu doğrulaması neden önemlidir? {#importance-of-source-code-verification}



### Güven gerektirmezlik {#trustlessness}

Güven gerektirmezlik, tartışmasız olarak akıllı sözleşmelerin ve [merkeziyetsiz uygulamalarınn (dapp'ler)](/developers/docs/dapps/) sunduğu en büyük vaattir. Akıllı sözleşmeler "değiştirilemez" niteliktedir; bir sözleşme, yalnızca dağıtım sırasında kodda tanımlanmış olan iş mantığını uygular. Bu, geliştiricilerin ve işletmelerin Ethereum'da dağıtıldıktan sonra bir sözleşmenin kodunun üzerinde oynama yapamayacakları anlamına gelir.
Expand All @@ -46,16 +38,12 @@ Projeler, sözleşmelerinin kaynak kodunu yayımlayarak güven varsayımlarını

Kaynak kodu doğrulama araçları, bir akıllı sözleşmenin kaynak kodunun derleme koduyla eşleştiğine dair güvenceler sağlar. Sonuç, kullanıcıların üçüncü taraflara körü körüne güvenmediği ve bunun yerine bir sözleşmeye para yatırmadan önce kodu doğruladıkları güven gerektirmez bir ekosistemdir.



### Kullanıcı Güvenliği {#user-safety}

Akıllı sözleşmeler söz konusu olduğunda ortadaki para miktarı oldukça yüksektir. Bu, daha yüksek güvenlik garantileri ve kullanmadan önce akıllı sözleşmenin mantığının doğrulanmasını gerektirir. Sorun şu ki, ahlaki endişelere sahip olmayan bazı geliştiriciler akıllı sözleşmelerin içine kötü niyetli kod ekleyerek kullanıcıları kandırabilirler. Doğrulama yapılmadığında kötü niyetli akıllı sözleşmelerin [arka kapıları](https://www.trustnodes.com/2018/11/10/concerns-rise-over-backdoored-smart-contracts) olabilir ve tartışmalı erişim kontrol mekanizmaları, kötüye kullanılabilir zayıflıklar ve kullanıcının güvenliğini tehlikeye atan diğer şeyler fark edilemez.

Bir akıllı sözleşmenin kaynak kod dosyalarının yayımlanması, denetçiler gibi konuyla ilgili olanların sözleşmeyi potansiyel saldırı vektörleri açısından değerlendirmesini daha kolay hale getirir. Bir akıllı sözleşmeyi birden fazla tarafın doğrulaması sayesinde kullanıcılar daha güçlü güvencelere sahip olur.



## Ethereum akıllı sözleşmelerinde kaynak kodu doğrulaması {#source-code-verification-for-ethereum-smart-contracts}

[Ethereum'da bir akıllı sözleşmeyi dağıtma](/developers/docs/smart-contracts/deploying/), özel bir adrese veri yüklü (derlenmiş bit kodu) bir işlemi göndermeyi gerektirir. Veri yükü, kaynak kodu ve işlemdeki veri yüküne eklenmiş sözleşme örneğinin [yapıcı bağımsız değişkenleri](https://docs.soliditylang.org/en/v0.8.14/contracts.html#constructor) ile oluşturulur. Derleme belirleyicidir, yani aynı kaynak dosyaları ve derleme ayarları (örn. derleyici sürümü, optimize edici) kullanılırsa, hep aynı çıktıyı (yani sözleşme bit kodu) verir.
Expand All @@ -76,14 +64,10 @@ Akıllı sözleşmeyi doğrulamanın temel adımları aşağıdaki gibidir:

Bunun, doğrulamanın basitleştirilmiş bir açıklaması olduğunu ve bununla çalışmayan [değişmez değişkenlere](https://docs.sourcify.dev/docs/immutables/) sahip olmak gibi birçok istisna olduğunu unutmayın.



## Kaynak kodu doğrulama araçları {#source-code-verification-tools}

Sözleşme doğrulamanın geleneksel süreci karmaşık olabilir. İşte bu nedenle, Ethereum'da dağıtılmış akıllı sözleşmelerin kaynak kodunu doğrulamaya yarayan araçlara sahibiz. Bu araçlar, kullanıcı yararına kaynak kodu doğrulamasının büyük kısmını otomatikleştirir ve doğrulanmış sözleşmeleri derler.



### Etherscan {#etherscan}

Etherscan, çoğunlukla bir [Ethereum blokzincir arayıcı](/developers/docs/data-and-analytics/block-explorers/) olarak bilinmesine rağmen akıllı sözleşme geliştiricileri ve kullanıcıları için bir [kaynak kodu doğrulama hizmeti](https://etherscan.io/verifyContract) de sunar.
Expand All @@ -96,8 +80,6 @@ Etherscan, sözleşmeleri doğrulamak için en çok kullanılan araçtır. Fakat

[Etherscan'de sözleşme doğrulama hakkında daha fazla bilgi](https://medium.com/etherscan-blog/verifying-contracts-on-etherscan-f995ab772327).



### Sourcify {#sourcify}

[Sourcify](https://sourcify.dev/#/verifier), açık kaynaklı ve merkeziyetsiz sözleşmeleri onaylamak için kullanılan bir başka araçtır. Bir blok arayıcı değildir ve sadece [Ethereum Sanal Makinesi tabanlı farklı ağlarda](https://docs.sourcify.dev/docs/chains) bulunan sözleşmeleri doğrular. Diğer araçların üzerine geliştirileceği herkese açık bir altyapı görevi görür ve meta veri dosyasında bulunan [ABI](/developers/docs/smart-contracts/compiling/#web-applications) ve [NatSpec](https://docs.soliditylang.org/en/v0.8.15/natspec-format.html) yorumlarını kullanarak daha insan dostu sözleşme etkileşimleri sağlamayı amaçlar.
Expand All @@ -108,8 +90,6 @@ Ek olarak, bu dosyaların IPFS karmaları meta veride de bulunduğu için kaynak

[Sourcify'da sözleşme doğrulama üzerine daha fazla bilgi](https://blog.soliditylang.org/2020/06/25/sourcify-faq/).



### Tenderly {#tenderly}

[Tenderly platformu](https://tenderly.co/), Web3 geliştiricilerinin akıllı sözleşmeler oluşturmasını, test etmesini, izlemesini ve çalıştırmasını mümkün kılar. Hata ayıklama araçlarını gözlemlenebilirlik ve altyapı yapı taşları ile birleştiren Tenderly, geliştiricilerin akıllı sözleşme geliştirme sürecini hızlandırmasına yardımcı olur. Tenderly özelliklerini tam olarak etkinleştirmek için geliştiricilerin çeşitli yöntemler kullanarak [kaynak kodu doğrulaması gerçekleştirmesi](https://docs.tenderly.co/monitoring/contract-verification) gerekir.
Expand All @@ -122,8 +102,6 @@ Gösterge Paneli aracılığıyla sözleşme doğrularken Solidity derleyicisi t

Tenderly Hardhat eklentisini kullanmak, otomatik (kodsuz) ve manuel (kod tabanlı) doğrulama arasında seçim yapmanıza olanak tanıyarak doğrulama işlemi üzerinde daha az çabayla daha fazla kontrole sahip olmanızı sağlar.



## Daha fazla bilgi {#further-reading}

- [Sözleşme kaynak kodunu doğrulama](https://programtheblockchain.com/posts/2018/01/16/verifying-contract-source-code/)

0 comments on commit aa40f31

Please sign in to comment.