ErgoScript'i Keşfetmek: Ergo'nun Yerel Betik Dili

This page is machine-translated.
Ergo Platform

26 Mart 2024

Blok Zinciri Programlama Dilleri

Bilgisayar programlama dünyası, geniş ve çeşitli bir kodlama dilleri yelpazesini vurgular. Her dilin kendine özgü avantajları ve dezavantajları vardır. Eğer kodlamaya aşina iseniz, JavaScript, Python, Java, C#, C++, Solidity, Rust ve daha birçok dilden haberdar olmalısınız.

Blok zinciri tasarımında, bu dillerden birçoğu önde gelen kripto para ağlarının inşasında kullanılmıştır.

Снимок экрана 2024-03-27 в 21.36.36.png

Ergo Platformu: Betik ve İş Kanıtı Blok Zincirinde Yeni Bir Paradigma

Alex Chepurnoy (aka kushti) ve Dmitry Meshkov, yeni bir 3. nesil akıllı sözleşme blok zinciri tasarlamaya karar verdiklerinde, Bitcoin’in İş Kanıtı ve UTXO tasarımını ifade edici akıllı sözleşmelerle birleştiren bir ağ yaratmak istediler. Temelde, amaç Bitcoin’in zamanla test edilmiş modelini Ethereum’un akıllı sözleşmeler ve merkeziyetsiz uygulamalar üretme yeteneği ile birleştirmekti. Bu çabanın merkezinde, herkes için bir blok zinciri inşa etme arzusu vardı. Ortalama vatandaşın yaşamını iyileştiren ürünleri önceliklendiren bir blok zinciri. Bu çabadan Ergo Platformu'nu yarattılar ve başlattılar.

Ergo'yu inşa etmek için, kendilerine özgü ihtiyaçlarını karşılayan bir programlama dili oluşturmaları gerekiyordu. Kushti ve Meshkov birlikte, Ergo Platformu üzerinde esnek ve güvenli akıllı sözleşmeler yazabilmek için yeni bir betik dili olan ErgoScript'i geliştirdiler.

ErgoScript Nedir?

ErgoScript, Ergo blok zincirinde akıllı sözleşmeler yazmak için kullanılan programlama dilidir. Güvenlik ve ölçeklenebilirliğe odaklanarak, gelişmiş finansal araçlar ve merkeziyetsiz uygulamalar (dApps) oluşturma yeteneği ile özellikle dikkat çekmektedir. Tasarımı, yaygın programlama kalıplarını özlü, şık ve tür güvenli bir şekilde ifade etmek için tasarlanmış çoklu paradigma programlama dili olan Scala'dan türetilmiştir. Ergo Beyaz Kitabı'ndan ErgoScript şu şekilde tanımlanmaktadır:

“…kripto paralar için güçlü ve protokol dostu bir betik dili. ErgoScript'teki programlar, paranın harcanabileceği koşulları belirtmek için kullanılır. Dil, Σ(Sigma)-protokoller olarak adlandırılan etkileşimsiz sıfır bilgi kanıtları türünü destekler ve halka imzaları, çoklu imzalar, birden fazla para birimi, atomik takaslar, kendini kopyalayan betikler ve uzun vadeli hesaplamalar gibi esneklik sağlar.”

ErgoScript'in temel özellikleri şunlardır:

  1. Sigma Protokollerine Dayalı: ErgoScript, bir tür kriptografik protokol olan Sigma Protokollerine (veya Σ-protokollerine) dayanır. Bu temel, esnek ve son derece güvenli akıllı sözleşmelerin oluşturulmasına olanak tanır.
  2. Açıklayıcı Yaklaşım: Bir şeyin nasıl yapılacağını tanımladığınız zorunlu dillerin aksine, ErgoScript'te hangi koşulların karşılanması gerektiğini tanımlarsınız. Bu, bir betiğin geçerli olup olmadığını belirleyen blok zincirinin durumunun belirlendiği açıklayıcı bir dildir.
  3. Off-Chain Kod: Ergo, karmaşık işlemlerin blok zinciri dışında gerçekleştirilmesine olanak tanır, bu da blok zincirinin yükünü azaltır. ErgoScript, bu işlemlerin blok zincirine kaydedildiğinde belirlenen kurallara uygun olmasını sağlamak için kullanılır.
  4. Esneklik ve Güvenlik: Dil, sözleşmeler oluştururken yüksek derecede esneklik sağlamak için tasarlanmıştır, aynı zamanda güçlü bir güvenlik seviyesi de sağlar. Bu, Ergo Platformu üzerindeki finansal sözleşmeler ve merkeziyetsiz finans (DeFi) uygulamaları bağlamında özellikle önemlidir.
  5. Maliyet Etkin: Ergo'nun tasarımı, ErgoScript ile birleştiğinde, akıllı sözleşmelerin hesaplama maliyetini minimize etmeyi hedefler. Bu, ölçeklenebilir ve verimli bir blok zinciri sisteminin sürdürülmesi için kritik öneme sahiptir.
  6. Ergo’nun Özellikleri ile Entegrasyon: ErgoScript, verilerin ve tokenların blok zincirinde "kutular" içinde saklandığı kutu depolama modelini ve bu kutuların nasıl dönüştürülebileceği ve kullanılabileceği ile ilgili karmaşık koşulların belirlenmesine olanak tanıyan Ergo'nun benzersiz özelliklerinden yararlanır.

ErgoScript Kodu: Bir Örnek

Aşağıdaki betik, bir işlem çıktısını harcama koşulunu içermektedir:

{
val condition = HEIGHT > 1000 && OUTPUTS(0).propositionBytes == fromBase64("yourBase64EncodedPublicKey")
sigmaProp(condition)
}

  1. HEIGHT > 1000: Bu, blok zincirinin mevcut blok yüksekliğinin 1000'den büyük olup olmadığını kontrol eder. HEIGHT, işlemin gerçekleştiği sırada blok zincirinin yüksekliğini ifade eder. Bu koşul, çıktının yalnızca blok zinciri belirli bir yüksekliğe ulaştıktan sonra harcanabileceğini garanti eder ve etkili bir zaman kilidi oluşturur.

  2. OUTPUTS(0).propositionBytes == fromBase64("yourBase64EncodedPublicKey"): Betiğin bu kısmı, işlemin ilk çıktısının (OUTPUTS(0)) belirli bir genel anahtara sahip olup olmadığını kontrol eder. Genel anahtar, betikte Base64 formatında kodlanmıştır. Bu koşul, çıktının yalnızca belirttiğiniz bir adrese (veya genel anahtara) gönderilmesi durumunda harcanabileceğini garanti eder.

  3. sigmaProp(condition): Bu, tanımlanan koşulun, betiğin tatmin edilmesi için doğru olması gerektiğini ifade etmenin ErgoScript yoludur. sigmaProp, bir Boolean ifadesini bir Sigma önermesine dönüştüren bir işlevdir.

Bu betik, Ergo blok zincirinde harcanmamış bir işlem çıktısına (UTXO) eklendiğinde, blok zincirinin 1000 blok yüksekliğini aşmış olması ve çıktının belirtilen genel anahtara gönderilmesi koşullarını dayatır. Bu tür bir betik, zaman kilitli sözleşmeler için veya fonların yalnızca belirli bir alıcıya gönderilmesini sağlamak için kullanılabilir.

Eğer bir geliştiriciyseniz ve Ergo Platformu'nun inşa etmek istediğiniz bir ürün için nasıl uygulanabilir olabileceğini merak ediyorsanız, Ergo Dokümantasyonu'nun Başlarken bölümünü keşfetmeniz önerilir.

Sonuç

ErgoScript birçok avantaj sunsa da, blok zinciri inşası için "en iyi" dilin bir projenin özel ihtiyaçlarına ve hedeflerine bağlı olarak değişebileceğini belirtmek önemlidir. Ancak, ErgoScript, yüksek güvenlik, gelişmiş sözleşme işlevselliği ve işlem işleme verimliliği gerektiren projeler için özellikle uygundur. Zamanla, Ergo ekosisteminde çalışan geliştiriciler için zamanla test edilmiş ve temel bir araç olduğunu kanıtlamış, merkeziyetsiz çözümler inşa etmek için sağlam bir çerçeve sunmuştur.

Share post

Ergo Altyapı DAO: Ergo Ekosisteminin Omurgasını Merkeziyetsizleştirmek

Ergo Altyapı DAO: Ergo Ekosisteminin Omurgasını Merkeziyetsizleştirmek

Ergo’nun misyonu her zaman merkeziyetsizlikte kök salmıştır, sadece konsensüs katmanında değil, tüm yığın boyunca.

Ergo Platform

13 Ağustos 2025

Mew Finance: Ergo Ekosistemi için Eğlenceli Bir DeFi Araç Seti

Mew Finance: Ergo Ekosistemi için Eğlenceli Bir DeFi Araç Seti

Mew Finance, Ergo Blockchain üzerinde merkeziyetsiz bir uygulama setidir.

Ergo Platform

12 Ağustos 2025

Lithos: Madenciliği On-Chain Havuzlarla Merkeziyetsizleştirmek

Lithos: Madenciliği On-Chain Havuzlarla Merkeziyetsizleştirmek

Lithos, madencilik havuzlarının nasıl çalıştığını köklü bir şekilde değiştirmek için tasarlanmış yeni bir protokoldür; havuzları o.

Ergo Platform

24 Temmuz 2025

Sigma 6.0: Daha Akıllı, Daha Esnek Ergo

Sigma 6.0: Daha Akıllı, Daha Esnek Ergo

Sigma 6.0 Ergo blockchain için önerilen büyük bir güncellemedir.

Ergo Platform

23 Temmuz 2025

Rosen'ın Geleceğini Şekillendirmek: Beş Ana Hazine Teklifi Üzerine Topluluk Çağrısı

Rosen'ın Geleceğini Şekillendirmek: Beş Ana Hazine Teklifi Üzerine Topluluk Çağrısı

Rosen kurucu ortağı Armeanio, Rosen Hazine'sine beş yeni teklif sunmuştur.

Ergo Platform

9 Temmuz 2025

Ergo'nun Genişletilmiş UTXO'su ve Yapay Ekonomik Zekanın Yükselişi

Ergo'nun Genişletilmiş UTXO'su ve Yapay Ekonomik Zekanın Yükselişi

Otonom Ekonomik Ajanlar için Pratik Bir Vizyon Otonom ekonomik ajanlar, Ergo blok zincirinde gerçek bir dijital ekonomide faydalı.

Ergo Platform

12 Mayıs 2025

ErgoHACK X: Ergo Blok Zincirinde Yapay Zeka

ErgoHACK X: Ergo Blok Zincirinde Yapay Zeka

Dağıtık İnovasyonun Onuncu Yılı yıl dönümü ErgoHACK'e katılın ve Ergo blok zincirindeki AI devriminin ön saflarında yer alın! Yara.

Ergo Platform

10 Nisan 2025