Ergo a crowdfunding

This page is machine-translated.
Robert Wolf

6. septembra 2019

Čo je crowdfunding?

Crowdfunding je spôsob získavania kapitálu prostredníctvom kolektívneho úsilia jednotlivcov. Kampane sa väčšinou začínajú prostredníctvom celosvetovej siete a umožňujú projektom a podnikaniu získať financovanie získavaním malých súm peňazí od veľkého počtu ľudí.
Jedným z najznámejších príkladov úspešných crowdfundingových startupov je Oculus Rift, headset pre virtuálnu realitu. Spoločnosť Oculus VR spustila svoju kampaň v roku 2012 a o dva roky neskôr bola kúpená Facebookom za celkovú sumu 2 miliardy dolárov. Okrem bežných startupov existuje aj množstvo blockchainových projektov, ktoré sa vydali cestou crowdfundingu, napríklad Ethereum, Tron a EOS. Dnes existuje množstvo platforiem, ktoré vám umožňujú publikovať vašu kampaň. Niektoré z väčších sú Indiegogo, Kickstarter a Gofundme, aby sme vymenovali aspoň niektoré.
Crowdfunding má množstvo výhod: široký dosah, efektívnosť a marketingové aspekty sú najpresvedčivejšie... Ale teraz prejdime k tomu, čo je naozaj dôležité!

Predstavujeme crowdfunding na Ergo

Pred pár dňami, 28. augusta, hlavný vývojár Kushti uviedol na (Ergo fóre)[www.ergoforum.org], že sa mu podarilo úspešne napísať a implementovať kód, ktorý umožňuje používateľom spustiť crowdfundingovú kampaň na vrchole blockchainu Ergo (ako je uvedené na strane 6 whitepaperu. Tento kód dokonca funguje s aktuálnym API peňaženky. Tu je rýchly sprievodca, ako nastaviť peňaženku.
V tomto článku sa naučíte, ako to presne urobiť: crowdfunding na vrchole Ergo! Taktiež vás prevedie návrhom prvej kampane vôbec, ktorá má financovať vývoj post-EIP1 crowdfundingového skriptu.
Ak chcete ísť do všetkých podrobností, prečítajte si nasledujúcu sekciu „Skript“. Inak môžete jednoducho preskočiť na čítanie sekcií „Ako darovať“, „Ako zbierať dary“ a „Návrh crowdfundingového projektu“ nižšie.

Skript

Najjednoduchší crowdfundingový skript, podľa ErgoScript White Paper (strana 6), je „skript pre nasledujúcu crowdfundingovú situáciu: podporovateľ projektu (s kľúčom backerPubKey) si želá poskytnúť peniaze projektu (s kľúčom projectPubKey), ale iba ak projekt získa dostatok peňazí (aspoň minToRaise) z iných zdrojov do termínu (vyjadreného v termínoch HEIGHT).
Aby poskytol peniaze projektu, podporovateľ vytvorí výstupnú schránku chránenú nasledujúcim skriptom. Skript obsahuje dve podmienky: jednu pre prípad, že termín uplynul (umožňujúcu podporovateľovi získať peniaze späť) a jednu pre prípad, že to uspelo (umožňujúcu projektu minúť peniaze, ak je suma aspoň minToRaise pred termínom).

Aby sa zabezpečilo, že bolo vyzbierané dostatok peňazí, skript bude hľadať v kolekcii výstupov schránku s dostatočnou hodnotou smerujúcou k projectPubKey. Aby skontroloval, kam ide hodnota výstupnej schránky, skript prečíta skript chrániaci výstupnú schránku a porovná ho so skriptom zodpovedajúcim proveDlog(projectPubKey); tento skript môže byť získaný z projectPubKey.propBytes.

Keďže aktuálne API nepodporuje vkladanie vlastných premenných prostredia (iba preddefinovaných, ako HEIGHT), jediný spôsob, ako skompilovať skript, je nahradiť takéto premenné v skripte z whitepaperu konkrétnymi hodnotami. Napríklad, považujte, že crowdfundingová kampaň je úspešná, ak vyzbiera 500 Ergs pred blokom číslo 50 000. Pre backerPubKey a projectPubKey môžeme použiť funkciu PK(), ktorá momentálne akceptuje iba P2PK serializované kľúče. Potom sa upravený skript z WhitePaper stáva nasledujúcim:

{
   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                     
 }                              

Ako darovať

Predovšetkým, JSON nepodporuje viacriadkové reťazce, takže musíte nahradiť zalomenia riadkov \n.
Taktiež, úvodzovky musia byť escapované, takže použite " namiesto ". Výsledný JSON bude odoslaný na /script/p2sAddress.
Aby ste darovali projektu, najprv získajte svoju adresu z /wallet/addresses, vezmite napríklad prvú z nich. Vložte adresu do backerPubKey, takže požiadavka na /script/p2sAddress bude vyzerať takto po tomto kroku:

{
  "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 
  }"
}    

s vašou adresou namiesto „9…“.

Odošlite reťazec na /script/p2sAddress, aby ste dostali odpoveď ako:

{
  "address": "GB3kh2izpWKvyZfMboQwsEscjPaZcz9WrzGqZB4ZrkzRreiFMV6HZYWXGMK3rqCjDCoPgWGNzfnYSUhivW4a1VRYPE7uZXwKnBcqWcRkiuTx6QW55EcPcWeELUsumwdtKoFtWY583nWnKZff"
}     

Skopírujte reťazec adresy (GB3… v našom príklade) a pošlite peniaze na ňu prostredníctvom /wallet/payment/send. Požiadavka na API metódu na odoslanie 10 Ergs (10 miliárd nanoErgs) bude vyzerať takto:

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

To je všetko!

Teraz peňaženka automaticky nájde schránku na blockchaine, pretože obsahuje verejný kľúč, ktorý patrí k peňaženke v podmienke vrátenia. Peňaženka potom pravidelne kontroluje, či je schránka použiteľná, vytvorením najjednoduchšej transakcie so schránkou ako vstupom a len jedným výstupom (na tú istú adresu). Po výške vrátenia (50 000 v našom príklade) bude peňaženka schopná minúť schránku a tak sa hodnota schránky pridá k /wallet/balances.
Upozorňujeme, že to nebude platiť po implementácii EIP-1 3, pretože peňaženka bude do tej doby používať úzke rozpoznávacie vzory.

Ako zbierať dary

Peňaženka, ktorá je spojená s verejným kľúčom projektu, nájde prichádzajúce schránky na blockchaine. Avšak, nebude schopná zabezpečiť, že schránky sú použiteľné, pretože peňaženka momentálne používa najjednoduchšiu transakciu na to, a skript zlyháva pre takúto transakciu.
Pred implementáciou metódy /wallet/boxes/uncertain je jediným spôsobom, ako projekt nájsť prichádzajúce schránky. Potom /wallet/transaction/send s manuálne poskytnutými (v „inputsRaw“) serializovanými schránkami (použite /utxo/byIdBinary na získanie serializovanej schránky podľa jej identifikátora).

Kushti to urobil sám a získal nasledujúcu transakciu.

Upozorňujeme, že EIP-1 tento pracovný postup tiež naruší.

Kushti navrhuje vyzbierať 500 Ergs pred blokom 50 000 na vývoj skriptov príkazového riadku (v Pythone) na organizovanie a účasť na crowdfundingových kampaniach po implementácii EIP-1. Skripty príkazového riadku sú vhodnejšie ako manuálne vykonávanie požiadaviek a môžu byť tiež použité na vytváranie grafických rozhraní na ich základe.

Pokladnica poskytla polovicu prostriedkov, takže ostatní musia kolektívne prispieť chýbajúcimi 250 Erg. V prípade zlyhania kampane budú vrátené peniaze automaticky. Keďže zbieranie prísľubov nie je v súčasnosti triviálne, Kushti povedie projektovú úlohu, takže prosím použite nasledujúci kľúč, ktorý je pod jeho kontrolou:

9gBSqNT9LH9WjvWbyqEvFirMbYp4nfGHnoWdceKGu45AKiya3Fq

Aby ste darovali akúkoľvek sumu peňazí, prosím, riaďte sa sekciou „Ako darovať“ vyššie s nahradením backerPubKey vaším verejným kľúčom a prísľubovou sumou správnou hodnotou (prosím, vezmite na vedomie, že je to v nanoErgs, 1 Erg = 1.000.000.000 nanoErgs).

Ako vždy, ak máte ďalšie otázky, návrhy alebo chcete sa zapojiť do hnutia, prosím, pripojte sa k našim kanálom na sociálnych médiách alebo fóru.

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

Share post

Ergo Infrastructure DAO: Decentralizácia chrbtice ekosystému Ergo

Ergo Infrastructure DAO: Decentralizácia chrbtice ekosystému Ergo

Misia Ergo bola vždy zakorenená v decentralizácii, nielen na konsenzuálnej vrstve, ale naprieč celým stackom.

Ergo Platform

13. augusta 2025

Mew Finance: Hravý DeFi nástroj pre ekosystém Ergo

Mew Finance: Hravý DeFi nástroj pre ekosystém Ergo

Mew Finance je decentralizovaná aplikácia na blockchainu Ergo.

Ergo Platform

12. augusta 2025

Lithos: Decentralizácia ťažby s on-chain poolmi

Lithos: Decentralizácia ťažby s on-chain poolmi

Lithos je nový protokol navrhnutý na prepracovanie fungovania ťažobných poolov presunutím ich na on-chain, čo dáva ťažiarom plnú k.

Ergo Platform

24. júla 2025

Sigma 6.0: Inteligentnejší, flexibilnejší Ergo

Sigma 6.0: Inteligentnejší, flexibilnejší Ergo

Sigma 6.0 je významná navrhovaná aktualizácia blockchainu Ergo.

Ergo Platform

23. júla 2025

Formovanie budúcnosti Rosen: Výzva komunity na päť kľúčových návrhov pokladnice

Formovanie budúcnosti Rosen: Výzva komunity na päť kľúčových návrhov pokladnice

Spoluzakladateľ Rosen, Armeanio, predložil päť nových návrhov pre Rosen Treasury.

Ergo Platform

9. júla 2025

Ergo's Extended UTXO a vzostup umelej ekonomickej inteligencie

Ergo's Extended UTXO a vzostup umelej ekonomickej inteligencie

Praktická vízia pre autonómne ekonomické agentov Autonómne ekonomické agenti na blockchaine Ergo vykonávajú užitočnú prácu v reál.

Ergo Platform

12. mája 2025

ErgoHACK X: Umelá inteligencia na Ergo blockchaine

ErgoHACK X: Umelá inteligencia na Ergo blockchaine

Oslavujeme desaťročie decentralizovanej inovácií Pridajte sa k 10.

Ergo Platform

10. apríla 2025

The Ergo Manifesto

The Ergo Manifesto

Ergo Manifesto dúfa vo vzdelanie a ukážku vízie, čo blockchain technológia môže dosiahnuť.

Ergo Foundation

26. apríla 2021