Ergo ve crowdfunding

This page is machine-translated.
Robert Wolf

6 Eylül 2019

Crowdfunding Nedir?

Crowdfunding, bireylerin kolektif çabalarıyla sermaye toplama yöntemidir. Kampanyalar genellikle dünya çapında web üzerinden başlatılır ve projelerin ve işletmelerin büyük bir insan grubundan küçük miktarlarda para toplayarak finanse edilmesine olanak tanır.
Başarılı crowdfunding girişimlerine en iyi örneklerden biri, sanal gerçeklik başlığı olan Oculus Rift'tir. Oculus VR, 2012'de kampanyasını başlattı ve sadece iki yıl sonra Facebook tarafından toplam 2 milyar dolara satın alındı. Alışılmış girişimlerin yanı sıra, Ethereum, Tron ve EOS gibi birçok blockchain projesi de crowdfunding yolunu seçti. Bugün, kampanyanızı yayınlamanıza olanak tanıyan sayısız platform mevcuttur. Bunlardan bazıları Indiegogo, Kickstarter ve Gofundme'dir.
Crowdfunding'ın birçok avantajı vardır: geniş erişim, verimlilik ve pazarlama yönleri en ikna edici olanlardır... Ama şimdi, gerçekten önemli olan konulara geçelim!

Ergo'da Crowdfunding Tanıtımı

Birkaç gün önce, 28 Ağustos'ta, çekirdek geliştirici Kushti, (Ergo forumunda)[www.ergoforum.org] kullanıcıların Ergo blockchain üzerinde bir crowdfunding kampanyası başlatmalarına olanak tanıyan kodu başarıyla yazıp uyguladığını belirtti (bununla ilgili beyaz kağıt sayfa 6). Bu kod, mevcut cüzdan API'si ile de çalışmaktadır. Burada cüzdanı nasıl kuracağınızla ilgili hızlı bir kılavuz bulunmaktadır.
Bu makalede, tam olarak bunu nasıl yapacağınızı öğreneceksiniz: Ergo üzerinde crowdfunding! Ayrıca, post-EIP1 crowdfunding script geliştirmesini finanse etmek için ilk kampanya önerisini de inceleyeceksiniz.
Tüm detaylara girmek isterseniz, lütfen aşağıdaki “Script” bölümünü okuyun. Aksi takdirde, “Bağış Nasıl Yapılır”, “Bağışları Nasıl Toplanır” ve “Crowdfunding Proje Önerisi” bölümlerini okumaya geçebilirsiniz.

Script

ErgoScript Beyaz Kağıdı (sayfa 6)'na göre en basit crowdfunding script'i, “aşağıdaki crowdfunding durumu için bir script: bir proje destekçisi (backerPubKey anahtarı ile) bir projeye (projectPubKey anahtarı ile) para vermek ister, ancak yalnızca proje diğer kaynaklardan bir son tarihe kadar yeterli para toplarsa (en az minToRaise).
Projeye para vermek için, destekçi aşağıdaki script ile korunan bir çıkış kutusu oluşturacaktır. Script, iki koşul içerir: birincisi son tarihin geçtiği durum için (destekçinin parayı geri almasını sağlayan) ve ikincisi başarılı olduğu durum için (projenin, son tarihten önce en az minToRaise miktarını toplaması durumunda parayı harcamasını sağlayan).

Yeterli paranın toplanmasını sağlamak için, script, projectPubKey'e giden yeterli değere sahip bir kutu arayacaktır. Çıkış kutusunun değerinin nereye gittiğini kontrol etmek için, script çıkış kutusunu koruyan script'i okuyacak ve bunu proveDlog(projectPubKey) ile karşılaştıracaktır; bu script, projectPubKey.propBytes ile elde edilebilir.

Şu anda API, özel ortam değişkenlerinin gömülmesini desteklemediğinden (yalnızca HEIGHT gibi önceden tanımlanmış olanlar), script'i beyaz kağıttaki değişkenleri somut değerlerle değiştirmek suretiyle derlemenin tek yolu budur. Örneğin, bir crowdfunding kampanyasının başarılı olduğunu varsayalım, eğer 50,000 blok numarasından önce 500 Erg topluyorsa. backerPubKey ve projectPubKey için şu anda yalnızca P2PK serileştirilmiş anahtarları kabul eden PK() fonksiyonunu kullanabiliriz. O zaman Beyaz Kağıttan modifiye edilmiş script şu şekilde olur:

{
   val backerPubKey = PK("9h7DHKSDgE4uvP8313GVGdsEg3AvdAWSSTG7XZsLwBfeth4aePG")
   val projectPubKey = PK("9gBSqNT9LH9WjvWbyqEvFirMbYp4nfGHnoWdceKGu45AKiya3Fq") 
    
   val deadline = 50000
   val minToRaise = 500L * 1000000000 
   
   val fundraisingFailure = HEIGHT >= deadline && backerPubKey
   val enoughRaised = {(outBox: Box) =>outBox.value >= minToRaise 
                              && outBox.propositionBytes == projectPubKey.propBytes
                      }
        
   val fundraisingSuccess = HEIGHT < deadline && projectPubKey && OUTPUTS.exists(enoughRaised)
   fundraisingFailure || fundraisingSuccess                     
 }                              

Bağış Nasıl Yapılır

Öncelikle, JSON çok satırlı dizeleri desteklemediğinden, satır sonlarını \n ile değiştirmeniz gerekir.
Ayrıca, tırnak işaretleri kaçırılmalıdır, bu nedenle " yerine " kullanın. Ortaya çıkan JSON, /script/p2sAddress'e gönderilecektir.
Bir projeye bağış yapmak için, önce /wallet/addresses'den adresinizi alın, örneğin, bunlardan birincisini alın. Adresi backerPubKey'e koyun, böylece /script/p2sAddress'e yapılacak bir istek şu şekilde görünecektir:

{
  "source": "{ 
    val backerPubKey = PK(\"9...\")
    val projectPubKey = PK(\"9gBSqNT9LH9WjvWbyqEvFirMbYp4nfGHnoWdceKGu45AKiya3Fq\")
    val deadline = 50000
    val minToRaise = 500L * 1000000000
    val fundraisingFailure = HEIGHT >= deadline && backerPubKey
    val enoughRaised = {
      (outBox: Box) => 
        outBox.value >= minToRaise && outBox.propositionBytes == projectPubKey.propBytes
    } 
    val fundraisingSuccess = HEIGHT < deadline && projectPubKey && OUTPUTS.exists(enoughRaised) 
    fundraisingFailure || fundraisingSuccess 
  }"
}    

“9…” yerine kendi adresinizi koyun.

Diziyi /script/p2sAddress'e gönderin ve şu şekilde bir yanıt alın:

{
  "address": "GB3kh2izpWKvyZfMboQwsEscjPaZcz9WrzGqZB4ZrkzRreiFMV6HZYWXGMK3rqCjDCoPgWGNzfnYSUhivW4a1VRYPE7uZXwKnBcqWcRkiuTx6QW55EcPcWeELUsumwdtKoFtWY583nWnKZff"
}     

Adres dizesini (örneğin GB3…) kopyalayın ve /wallet/payment/send aracılığıyla bu adrese para gönderin. 10 Erg (10 Milyar nanoErg) göndermek için API yöntemine yapılacak bir istek şu şekilde olacaktır:

[
 {
   "address": "GB3kh2izpWKvyZfMboQwsEscjPaZcz9WrzGqZB4ZrkzRreiFMV6HZYWXGMK3rqCjDCoPgWGNzfnYSUhivW4a1VRYPE7uZXwKnBcqWcRkiuTx6QW55EcPcWeELUsumwdtKoFtWY583nWnKZff",
   "value": 10000000000
 }
]

Hepsi bu kadar!

Artık cüzdan, geri ödeme koşulunda cüzdana ait olan genel anahtarı içerdiğinden, blockchain üzerinde kutuyu otomatik olarak bulacaktır. Cüzdan, daha sonra kutunun harcanabilir olup olmadığını kontrol etmek için, kutuyu bir girdi olarak ve sadece bir çıkış (aynı adrese) ile en basit işlemi oluşturarak periyodik olarak kontrol eder. Geri ödeme yüksekliği (örneğin 50,000) geçtikten sonra cüzdan kutuyu harcayabilecektir ve böylece kutu değeri /wallet/balances'a eklenecektir.
Lütfen bunun EIP-1 3 uygulamasından sonra böyle olmayacağını unutmayın, çünkü cüzdan o zamana kadar dar tanıma kalıpları kullanacaktır.

Bağışları Nasıl Toplanır

Proje genel anahtarı ile ilişkili cüzdan, blockchain üzerinde gelen kutuları bulacaktır. Ancak, cüzdan şu anda bunun için en basit işlemi kullandığından, kutuların harcanabilir olduğunu garanti edemeyecektir ve script, böyle bir harcama işlemi için başarısız olacaktır.
/wallet/boxes/uncertain yöntemi uygulanmadan önce, bir projenin gelen kutuları bulmasının tek yolu budur. Daha sonra /wallet/transaction/send ile manuel olarak sağlanan ("inputsRaw" içinde) serileştirilmiş kutularla (serileştirilmiş kutuyu tanımlayıcısı ile almak için /utxo/byIdBinary kullanın) işlem yapılmalıdır.

Kushti bunu kendisi yaptı ve aşağıdaki işlemi elde etti.

Lütfen EIP-1'in bu iş akışını da bozacağını unutmayın.

Kushti, EIP-1 uygulamasından sonra crowdfunding kampanyalarına katılmak ve düzenlemek için komut satırı script'leri geliştirmek üzere 50,000 blok öncesinde 500 Erg toplamayı öneriyor. Komut satırı script'leri, manuel istek yapmaktan daha uygundur ve bunların üzerine grafik arayüzler inşa etmek için de kullanılabilir.

Hazine, fonların yarısını sağladı, bu nedenle diğerlerinin eksik 250 Erg'i topluca katkıda bulunması gerekiyor. Bir kampanya başarısız olursa, geri ödemeler otomatik olarak verilecektir. Taahhüt toplamak şu anda kolay olmadığından, Kushti projeyi yönetecektir, bu nedenle lütfen onun kontrolündeki aşağıdaki anahtarı kullanın:

9gBSqNT9LH9WjvWbyqEvFirMbYp4nfGHnoWdceKGu45AKiya3Fq

Herhangi bir miktarda para bağışlamak için, lütfen yukarıdaki “Bağış Nasıl Yapılır” bölümünü izleyin, backerPubKey'i kendi genel anahtarınızla ve taahhüt miktarını uygun bir değerle değiştirin (lütfen bunun nanoErg cinsinden olduğunu unutmayın, 1 Erg = 1.000.000.000 nanoErg).

Her zamanki gibi, daha fazla sorunuz, öneriniz varsa veya harekete katılmak istiyorsanız, lütfen sosyal medya kanallarımıza veya forumumuza katılın.

t.me/ergoplatform | t.me/ergo_mining | www.ergoforum.org

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